У меня около 60-70 машин, которые могут иметь или не иметь SSRS. Срок действия пароля только что истек для учетных записей служб, под которыми он работает. Есть ли способ записать пароль обновления для SSRS?
Вы можете использовать класс SMO WMI Management, который якобы заботится о любых специальных разрешениях.
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")
$wmi = new-object ("Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer") $env:computername
$wmi.services | where {$_.Type -eq 'ReportServer'} | foreach {$_.SetServiceAccount('contoso\mylogin','mypassword')}
этот код PowerShell изменит информацию о сервисном аккаунте для любого количества сервисов. В этой версии список извлекается из файла, но его можно легко изменить для извлечения из AD. Также обратите внимание, что вы можете изменить несколько сервисов одновременно. В этом случае измените фильтр на просто "-filter" name = SSRS ". Я также указываю имя учетной записи. Я не уверен, что это необходимо, но я никогда не делал этого без имени учетной записи. Для многих служб Также требуется перезапуск службы, для чего нужно раскомментировать строки перезапуска.
$account="domain\userName"
$password="password"
$computers = get-content servers.txt
$svcs = gwmi win32_service -filter "name='myservice' and name='myservice2' and name='myservice3'" -computerName $computers
foreach($s in $svcs)
{
$s.change($null,$null,$null,$null,$null,$null,$account,$password,$null,$null,$null)
# optional service restart
# $s.stopservice
# $s.startservice
}