我正在尝试在PowerShell中的远程计算机上运行get-service命令。在做了一些研究之后,看起来这只是n powershell 2 CTP,我无法使用,因为我需要使用与交换机一起安装的powershell版本,这通常是1.看来-computerName开关只能在获得 - ps 2中的服务。 所以我几乎决定不采取行动,但是在我放弃它之前想看看这里是否有人有一个聪明的解决方案。
答案 0 :(得分:6)
这些都是很好的答案,但它们只能帮助您使用服务。你想要的是一些适合任何事情的东西:
WINRS是你最好的朋友!
[4120:0]PS> winrs -r:localhost powershell get-service h*
Status Name DisplayName
------ ---- -----------
Running hidserv Human Interface Device Access
Running hkmsvc Health Key and Certificate Management
Stopped HomeGroupListener HomeGroup Listener
Running HomeGroupProvider HomeGroup Provider
BTW - WINRS使用WS-MAN,这意味着它可以跨防火墙工作。
实验!请享用!接合!
Jeffrey Snover [MSFT] Windows管理合作伙伴架构师
答案 1 :(得分:5)
好吧,你可以直接去WMI获取服务信息。
gwmi Win32_Service -computername FOO
答案 2 :(得分:4)
这将在v1中起作用:
[System.ServiceProcess.ServiceController] :: GetServices(“String machineName”)