Делюсь готовым скриптом для массового обновления паролей сервисных учёток.
Иногда после смены пароля учётки приходится руками лазить по десяткам серверов и обновлять службы — это ад.
Всё решается всё PowerShell’ем.
Вот скрипт:
Работа скрипта:
- Берёт список серверов.
- Находит службы, которые работают под указанной учёткой.
- Меняет пароль и сразу перезапускает сервис.
Можно легко адаптировать под CSV, чтобы брать серверы и учётки из файла.
Иногда после смены пароля учётки приходится руками лазить по десяткам серверов и обновлять службы — это ад.
Всё решается всё 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, чтобы брать серверы и учётки из файла.