如何使用 powershell 脚本更新 SSRS 密码配置

如何使用 powershell 脚本更新 SSRS 密码配置

我有大约 60-70 台机器,可能有也可能没有 SSRS。它运行的服务帐户的密码刚刚过期。有没有办法编写脚本来更新 SSRS 的密码?

答案1

此 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,$n­ull,$null) 
      # optional service restart
      # $s.stopservice
      # $s.startservice
} 

答案2

您可以使用 SMO WMI 管理类,它可以处理任何特殊权限。

[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')}

相关内容