Перейти к содержимому

Как распространить reg файл на сервера.

# Задайте UNC-путь к reg-файлу в общей папке
$SharedRegFilePath = "\\h10\1$\tcagent.reg"

# Получите список серверов
$servers = Get-ADComputer -Filter 'Name -like "*H08*"' -SearchBase 'OU=Servers,DC=ADMINBD,DC=ru' | Select-Object -ExpandProperty Name

if (-not $servers) {
    Write-Host "Не найдено серверов, соответствующих фильтру." -ForegroundColor Red
    return
}

# Проверяем существование файла
if (-not (Test-Path $SharedRegFilePath)) {
    Write-Host "Файл не найден: $SharedRegFilePath" -ForegroundColor Red
    return
}

foreach ($server in $servers) {
    Write-Host "Обрабатывается сервер: $server" -ForegroundColor Cyan

    try {
        # Локально копируем файл на удаленный сервер
        $destinationPath = "\\$server\C$\Temp\tcagent.reg"
        if (-not (Test-Path "\\$server\C$\Temp")) {
            New-Item -ItemType Directory -Path "\\$server\C$\Temp"
        }

        Copy-Item -Path $SharedRegFilePath -Destination $destinationPath -Force
        Write-Host "Файл успешно скопирован на $server :$destinationPath" -ForegroundColor Green

        # Выполняем импорт reg-файла
        Invoke-Command -ComputerName $server -ScriptBlock {
            param($regFilePath)
            Start-Process -FilePath "reg.exe" -ArgumentList @("import", $regFilePath) -Wait -NoNewWindow
            Write-Host "Файл реестра успешно импортирован: $regFilePath" -ForegroundColor Green
        } -ArgumentList "C:\Temp\tcagent.reg"

    } catch {
        Write-Host "Ошибка при обработке сервера $server : $_" -ForegroundColor Red
    }
}

Write-Host "Применение reg-файла завершено на всех серверах." -ForegroundColor Green

 

Similar Posts:

Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика