Задача скопировать файл на пк которые находиться в группе
# Параметры
$sourceFile = "C:\1\nethasp.ini"
$destinationFolder = "C:\Program Files\1cv8\conf"
$adGroupName = "ComputerGroup"
# Проверка исходного файла
if (-not (Test-Path $sourceFile)) {
Write-Host "❌ Ошибка: файл $sourceFile не найден!" -ForegroundColor Red
exit 1
}
# Получаем список компьютеров из группы AD
try {
$computers = Get-ADGroupMember -Identity $adGroupName |
Where-Object { $_.objectClass -eq 'computer' } |
Select-Object -ExpandProperty Name
if (-not $computers) {
Write-Host "❌ В группе '$adGroupName' нет компьютеров!" -ForegroundColor Red
exit 1
}
Write-Host "✅ Найдено компьютеров: $($computers.Count)" -ForegroundColor Green
} catch {
Write-Host "❌ Ошибка при получении списка из AD: $_" -ForegroundColor Red
exit 1
}
# Копируем файл на каждый компьютер
foreach ($computer in $computers) {
try {
Write-Host "🖥️ Обрабатываем $computer..."
# Проверяем доступность компьютера
if (-not (Test-Connection -ComputerName $computer -Count 1 -Quiet)) {
Write-Host "⚠️ $computer недоступен, пропускаем..." -ForegroundColor Yellow
continue
}
# Формируем путь назначения
$remotePath = "\\$computer\C$\Program Files\1cv8\conf"
# Если папка не существует - создаём
if (-not (Test-Path $remotePath)) {
Write-Host "📂 Создаём папку на $computer..."
New-Item -Path $remotePath -ItemType Directory -Force | Out-Null
}
# Копируем файл с заменой
Copy-Item -Path $sourceFile -Destination $remotePath -Force
Write-Host "✅ Файл успешно скопирован на $computer" -ForegroundColor Green
} catch {
Write-Host "❌ Ошибка при работе с $computer : $_" -ForegroundColor Red
}
}
Write-Host "✔️ Готово! Файл заменён на всех доступных компьютерах." -ForegroundColor Green
Similar Posts:
- Как распространить reg файл на сервера.
- Как разлогинеть (logoff) всех пользователей со статусом disconnect со всех серверов windows в domain.
- Как завершить сессию на всех серверах в локальной сети.
- Как автоматизировать установку horizon client на пк пользователей не в домене
- Как найти программу и версию с помощью powershell