【发布时间】:2019-01-18 11:33:27
【问题描述】:
我不断收到一条错误消息,说明
"Exception calling "Start" with "0" argument(s): "Cannot start service RTCRGS on computer 'CORPxxxxxxx.xxxx.net'."
At line:25 char:18
+ $_.Start <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException"
关于为什么会发生这种情况以及如何解决它的任何建议?
$services = "RTCRGS"
$SvrName = 'CORPxxxx.xxxx.xxxx'
Get-Service -ComputerName $SvrName -Name $services | % {
Write-host "$($_.Name) on $SvrName is $($_.Status)"
if ($_.Status -eq 'stopped') {
Write-Host "Starting $($_.Name) in 5 sec..."
Start-Sleep 5
Write-Host "$($_.Name) is Starting, please wait..."
$_.Start()
Write-Host "Checking status of service, please wait for 25 sec..."
Start-Sleep 20
Write-Host "$($_.Name) on $SvrName is $($_.Status)"
} elseif ($_.Status -eq 'running') {
Write-Host "Restaring $($_.Name) in 5 sec..."
Start-Sleep 5
$_.Stop()
Start-Sleep 5
Write-Host "$($_.Name) is Starting, please wait..."
$_.Start()
Write-Host "Checking status of service, please wait for 25 sec..."
Start-Sleep 25
Write-Host "$($_.Name) on $SvrName is $($_.Status)"
}
}
【问题讨论】:
-
目标服务器上的服务有问题吗?即您可以手动停止/启动它吗? (即它可能被禁用)。某些服务可能需要以不同的方式手动启动。
-
我同意。您是否尝试过将
Start-Service与-ComputerName参数一起使用? -
哪个
$_.Start()行失败了?如果是第二个,则需要在尝试重新启动之前添加一个检查和等待循环。即服务可能仍处于“停止”状态,并且在尝试重新启动时会出错。 (即 5 秒可能不足以让服务完全停止) -
@HAL9256 感谢您的帮助,关于时间和循环的惊人建议!!! :)
标签: powershell scripting powershell-remoting