Pregunta

Tengo instalado el PS 1.0 en un PC remoto(RPC001).He utilizado Windows Sysinternals herramienta PSExec.exe para ejecutar el siguiente proceso en el mando a distancia:

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

Puedo ver la PowerShell.exe proceso que se ejecuta en el PC remoto después, pero en realidad, es no hacer nada, simplemente colgando allí.Traté de poner un código simple de "Write-Output/Anfitrión de" una cadena de caracteres en la secuencia de comandos.Puedo ejecutar la misma secuencia de comandos en el mando a distancia por RTS, que trabaja allí.

No se si se me olvida nada más para ejecutar la secuencia de comandos mediante el uso de PSExec, o es PSExec.exe la limitación.Me gustaría iniciar un PS secuencia de comandos de control remoto para hacer algo allí localmente (comprimir algunos archivos de forma local y borrar archivos viejos de mi cuadro.

Me hicieron una pregunta similar en Stackoverflow: Ejecuta el proceso remoto mediante powershell. No me sugirió el uso de PSExec.Suena como una alternativa para resolver el problema.Sin embargo, no puedo hacerlo funcionar con PowerShell.Alguna forma de obtener PS trabajando en el PC remoto?

Por cierto, yo no uso PS 2.0 ya que mi red no me permite instalar el SP3 de Windows XP, que es necesario para PS 2.0.

¿Fue útil?

Solución

Después de seguir investigando en PSExec herramienta, creo que tengo la respuesta.Tengo que añadir la opción-i para decirle PSExec para el proceso de lanzamiento en remoto en modo interactivo:

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

Sin -i, powershell.exe se está ejecutando en el mando a distancia en modo de espera.El punto interesante es que si ejecuto un simple bat (sin SAL en la mtd), funciona bien.Tal vez esto es algo especial para PS caso?La bienvenida a los comentarios y explicaciones.

Otros consejos

El aceptó respuesta no trabajo para mí, pero el siguiente hecho:

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

Ejemplo de aquí

Puede intentar lo siguiente?

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

Aceptado respuesta no funciona para mí, pero esto no hace.Asegúrese de secuencia de comandos en la ubicación (c: emp_ a continuación en cada servidor remoto.servers.txt contiene una lista de direcciones IP (una por línea).

psexec @servers.txt -u <username> cmd /c "powershell -noninteractive -file C:\temp\script.ps1"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top