【发布时间】:2011-09-17 03:16:56
【问题描述】:
我准备了以下脚本来更改 sql server 服务帐户。但是当我在脚本下运行时,服务并没有停止和启动。有死吗?有没有更好的方法来做到这一点。睡眠有没有其他选择。我们不知道停止和启动服务需要多少时间。有没有办法让powershell等到服务完全 停止/开始。
$Services = Get-WmiObject Win32_Service -ComputerName "." | Where { $_.name -eq 'MSSQLSERVER' }
ForEach($Service in $Services)
{
$StopStatus = $Service.StopService()
Sleep 15
If ($StopStatus.ReturnValue -eq "0")
{write-host "$Service -> Service Stopped Successfully"}
$ChangeStatus = $Service.change($null,$null,$null,$null,$null,$null,$ServiceAccount,$Password,$null,$null,$null)
If ($ChangeStatus.ReturnValue -eq "0")
{write-host "$Service -> Sucessfully Changed Service Account"}
$StartStatus = $Service.StartService()
Sleep 25
If ($ChangeStatus.ReturnValue -eq "0")
{write-host "$Service -> Service Started Successfully"}
}
【问题讨论】:
标签: powershell