2009-01-14 6 views
1

J'essaie d'exécuter la commande get-service sur une machine distante dans PowerShell. Après avoir fait quelques recherches, il semble que ce soit seulement possible CPS Powerhell 2, que je ne peux pas utiliser car j'ai besoin d'utiliser la version de powershell installée avec échange, qui est habituellement 1. Il semble que le commutateur-computerName n'est disponible que dans service en ps 2. J'ai donc décidé de ne pas y aller, mais je voulais voir si quelqu'un avait une solution intelligente avant d'abandonner.Commandes Powershell à distance

+0

Sam, la plupart des capacités « à distance » de PowerShell V1 sont soit via WMI et/ou en utilisant des classes .NET directement./N Software dispose également d'une PowerShell SSH serveur qui fonctionne avec V1 –

Répondre

5

Eh bien, vous pouvez aller directement à WMI obtenir les informations de service.

gwmi Win32_Service -computername FOO 
4

Cela fonctionne dans v1:

[System.ServiceProcess.ServiceController] :: GetServices ("String MACHINENAME")

5

Ce sont toutes les belles réponses, mais ils ne vous aider avec les services. Ce que vous voulez, c'est quelque chose qui fonctionne avec n'importe quoi:

WINRS est votre meilleur ami!

[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 utilise WS-MAN qui signifie qu'il fonctionnera à travers les pare-feu.

Expérience! Prendre plaisir! Engager!

Jeffrey Snover [MSFT] Windows Management Partner Architecte

+0

Pour configurer vos machines, commencez par la commande "winrs quickconfig". –