2009-11-17 9 views
1

je la ligne de code suivante pour créer l'objet d'un accès à un serveur distant avant associer avec le nom d'utilisateur, mot de passe et processus:Run processus à distance par powershell

$process = [WMIClass]"\\remoteServer\ROOT\cimv2:Win32_Process" 

J'ai essayé sur deux PC, un est OK sans aucune erreur, mais un autre que je vais exécuter a une exception:

Cannot convert value "\\remoteServer\ROOT\cimv2:Win32_Process" to type "System.Manage 
    ment.ManagementClass". Error: "Access is denied. (Exception from HRESULT: 0x800 
    70005 (E_ACCESSDENIED))" 

Le remoteServer est le même. Vous ne savez pas ce que je dois configurer sur PC local ou PC distant pour que cela fonctionne? Sur les deux PC clients, les noms d'utilisateur sont tous membres des administrateurs.

Répondre

2

Y a-t-il une raison pour laquelle vous ne voulez pas utiliser psexec?

http://technet.microsoft.com/en-us/sysinternals/bb545027.aspx

+2

J'ai essayé PSExec. Il woks pour courir chauve-souris sur PC distant. Cependant, il ne me laisse pas exécuter des scripts PS sur un PC distant. PS est suspendu sur un processus distant mais pas sur un script. –

11

Avez-vous pensé à regarder dans PowerShell Remoting? Si vous utilisez PowerShell 2.0, je vous recommande de le regarder. Une fois que vous avez mis en place remoting vous serez en mesure d'exécuter des commandes sur le serveur distant à l'aide du Invoke-Command:

Invoke-Command -ComputerName {serverName} –ScriptBlock { commands } 

Le ScriptBlock peut contenir des commandes Powershell de sorte que vous serez en mesure de lancer des processus sur la machine distante avec ce mécanisme. Pour activer l'accès distant, vous aurez besoin d'utiliser l'applet de commande Enable-PSRemoting et vous pouvez obtenir des détails de ce à http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspx et http://technet.microsoft.com/en-us/library/dd819498.aspx

+0

Malheureusement, je ne peux pas installer PS 2.0 car il nécessite SP 3 qui n'est pas disponible via l'autorisation réseau. –

+0

Avez-vous vu cela http://forums.asp.net/p/1225290/2198163.aspx –

1

Je sais que c'est un ancien poste, mais ce que je pense que vous devez faire est de lancer la commande suivante sur la machine distante:

« Get-ExecutionPolicy »

il ressemble à son « restreint » ce qui signifie qu'il ne sera pas exécuter des commandes « Invoque-commandes », ou des scripts à distance.

Vous pouvez modifier à 1 7 options:

  1. Unrestricted_ _ __ (moins sûr, mais si vous devez résoudre définir cette option)
  2. RemoteSigned __ (ne fera que tous les scripts avec une signature, cette option bof)
  3. AllSigned_ _ __ _ _ (la meilleure option si youu besoin d'exécuter des scripts à distance, mais tous Beed signé)
  4. Restricted_ _ ___ (Je crois que cette option est activée par défaut dans Windows 7 nad WS2k8)
  5. Par défaut
  6. Bypass
  7. Non défini
Questions connexes