Когда возникает необходимость сменить пароль сервисной учётной записи, от имени которой работают задания в планировщике заданий Windows, особенно если заданий много, возможно, вы захотите упростить этот процесс. В этой короткой заметке я покажу вам, как сделать это быстро и легко.
Простое решение для смены пароля учётной записи в планировщике
Для начала, вот команды, которые вам понадобятся:
$NewTaskCreds = Get-Credential
$comps=get-adcomputer -filter {cn -like "mx0*" -and enabled -eq "True"}
#$comps=@("comp1","comp2","comp3")
foreach ($comp in $comps){
Get-ScheduledTask -CimSession $comp.name | Where-Object { $_.Principal.UserId -eq $NewTaskCreds.UserName } | Set-ScheduledTask -User $NewTaskCreds.UserName -Password $NewTaskCreds.GetNetworkCredential().Password
#Get-ScheduledTask -CimSession $comp.name | Where-Object { $_.Principal.UserId -eq $user }
}
Если вам нужно выполнить смену пароля только на одной локальной машине, просто уберите цикл и параметр -CimSession.
Дополнительные Ресурсы
Скрипт включил в проект на GitHub, в котором также находится скрипт для копирования большого числа заданий на удалённые машины. Это может быть полезным, если у вас есть множество заданий, которые должны быть на множестве серверов.
