Software/Scripts Скрипт для массового обновления паролей сервисных учёток.

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
10,187
Реакции
1,578
Credits
36,799
Делюсь готовым скриптом для массового обновления паролей сервисных учёток.
Иногда после смены пароля учётки приходится руками лазить по десяткам серверов и обновлять службы — это ад.

Всё решается всё PowerShell’ем.

Вот скрипт:
Код:
# Задаем данные
# автор: https://t.me/win_sysadmin
$ServiceAccount = "DOMAIN\ServiceUser"
$NewPassword = "NewSecurePassword123!"
$Servers = @("Server1","Server2","Server3")  # список серверов

foreach ($Server in $Servers) {
    Write-Host "Обновляю службы на $Server..." -ForegroundColor Cyan
    $services = Get-WmiObject Win32_Service -ComputerName $Server | Where-Object { $_.StartName -eq $ServiceAccount }
    foreach ($svc in $services) {
        Write-Host "  -> Обновляем $($svc.Name) ($($svc.DisplayName))" -ForegroundColor Yellow
        $result = sc.exe \\$Server config $($svc.Name) obj= $ServiceAccount password= $NewPassword
        if ($result -like "*[SC] ChangeServiceConfig SUCCESS*") {
            Restart-Service -Name $svc.Name -ComputerName $Server -Force
            Write-Host "     Перезапущено." -ForegroundColor Green
        } else {
            Write-Host "     Ошибка при обновлении!" -ForegroundColor Red
        }
    }
}
Работа скрипта:
- Берёт список серверов.
- Находит службы, которые работают под указанной учёткой.
- Меняет пароль и сразу перезапускает сервис.

Можно легко адаптировать под CSV, чтобы брать серверы и учётки из файла.