我需要在远程计算机上找到服务的状态。虽然我可以使用以下命令:
Write-Host (Get-Service -ComputerName "remoteServerName" -Name "serviceName").Status
这会给我正确的服务状态。但是,我在服务器上安装了PowerShell 1.0,我需要运行此脚本。 -ComputerName
参数对PowerShell 1.0不起作用。目前我不应该安装更高版本的PowerShell。
知道如何在PowerShell 1.0中获取服务的状态吗?
答案 0 :(得分:1)
首先(我不能强调这一点):如果操作系统支持它,您应该升级到至少 PowerShell v2.0。 没有例外。如果系统不支持PowerShell 2或更新版本,它已经不再支持,应该在几个月前更换/升级。
话虽如此,您可以使用WMI(由@vonPryz建议):
Get-WmiObject -Computer 'remoteServerName' -Class Win32_Service -Filter "DisplayName='ServiceName'"
或sc.exe
(由@Kayasax建议):
& sc.exe \\remoteServerName query 'ServiceName'
这两个WMI中的PoSh方法越多,因为它不需要解析文本输出。