2

我在下面运行此代码作为一个函数来遍历服务器列表以检查服务是否正在运行。这在手动运行时有效。从计划任务运行时,代码$arrService.Status将转换为服务名称。我什至尝试过类似Get-Service -Computer $Server -display $ServiceName | Select -expandproperty Status但返回空字符串或没有值的方法。

知道为什么从计划任务运行时状态属性不起作用吗?

function CheckService{
     param($Server, $ServiceName)   
     $arrService = Get-Service -Computer $Server -display $ServiceName
     if ($arrService.Status -ne "Running"){
         Start-Service -InputObject $ServerService
     }
}
4

1 回答 1

0

感谢@djs,我能够找到一个解决方案,尽管这不是一个很棒的解决方案。将该帐户添加到每个服务器的管理员组中,即可执行命令。在我们的例子中,这不是问题,所以我们将采用这个解决方案。

于 2015-12-15T22:35:11.600 回答