Question

J'ai installé PS 1.0 sur un PC à distance (RPC001). Je Windows Sysinternals outil Psexec.exe pour exécuter le processus suivant sur la télécommande:

 PSExec \\RPC001 -u myID -p myPWD PowerShell C:\script\StartPS.ps1 par1 par2

Je peux voir le processus en cours d'exécution PowerShell.exe sur le PC distant par la suite, mais il est en train de faire rien, juste accroché là. J'ai essayé de mettre un code simple de « Write-Output / Host » une chaîne dans le script. Je lance le même script sur la télécommande par RTS, il y travaille.

Je ne sais pas si je manque quelque chose d'autre pour exécuter le script en utilisant PsExec, ou est la limitation Psexec.exe. Je voudrais commencer un script PS de la télécommande pour faire quelque chose localement (compresser des fichiers localement et supprimer les anciens fichiers) de ma boîte.

J'ai posé une question similaire dans Stackoverflow: Exécuter un traitement à distance par powershell . Don m'a suggéré d'utiliser PSExec. Cela ressemble à une autre façon de résoudre le problème. Cependant, je ne peux pas le faire fonctionner avec PowerShell. Toute façon d'obtenir PS travailler sur PC à distance?

Par ailleurs, je ne peux pas utiliser PS 2.0 depuis mon réseau ne me permet pas d'installer Windows XP SP3, qui est nécessaire pour PS 2.0.

Était-ce utile?

La solution

Après avoir étudié plus sur l'outil PSExec, je pense que je suis la réponse. Je dois ajouter l'option -i pour dire PSExec de processus lancer sur la télécommande en mode interactif:

PSExec \\RPC001 -i -u myID -p myPWD PowerShell C:\script\StartPS.ps1 par1 par2

Sans -i, powershell.exe est en cours d'exécution sur la télécommande en mode d'attente. Point intéressant est que si je lance une chauve-souris simple (sans PS en chauve-souris), il fonctionne très bien. Peut-être cela est quelque chose de spécial pour le PS cas? Bienvenue commentaires et explications.

Autres conseils

La réponse acceptée ne fonctionne pas pour moi, mais ce qui suit fait:

>PsExec.exe \\<SERVER FQDN> -u <DOMAIN\USER> -p <PASSWORD> /accepteula cmd 
    /c "powershell -noninteractive -command gci c:\"

Exemple de

Pouvez-vous essayer ce qui suit?

psexec \\server cmd /c "echo . | powershell script.ps1"

Acceptée réponse ne fonctionne pas pour moi, mais cela ne. Assurez-vous de script à l'emplacement (c:.. \ Temp_ ci-dessous sur chaque serveur distant servers.txt contient une liste d'adresses IP (une par ligne)

psexec @servers.txt -u <username> cmd /c "powershell -noninteractive -file C:\temp\script.ps1"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top