You are on page 1of 4

TEMA

about_Remote
DESCRIPCIN BREVE
Describe cmo se ejecutan comandos remotos en Windows PowerShell.
DESCRIPCIN DETALLADA
Puede ejecutar comandos remotos en un solo equipo o en varios equipos
utilizando una conexin temporal o persistente. Asimismo, puede
iniciar una sesin interactiva con un solo equipo remoto.
En este tema se proporcionan varios ejemplos para mostrar cmo se
ejecutan diferentes tipos de comandos remotos. Despus de probar estos
comandos bsicos, lea los temas de Ayuda en los que se describen los
cmdlets que se utilizan en estos comandos. Estos temas incluyen
informacin detallada y explican cmo puede modificar los comandos de
acuerdo con sus necesidades.
Nota: para poder utilizar la comunicacin remota de Windows PowerShell
basada en WS_Management, los equipos locales y remotos deben estar
configurados para ella.
Para obtener ms informacin, vea about_Remote_Requirements.
CMO INICIAR UNA SESIN INTERACTIVA (ENTER-PSSESSION)
La manera ms fcil de ejecutar comandos remotos es iniciar una
sesin interactiva con un equipo remoto.
Cuando se inicia la sesin, los comandos que se escriben se
ejecutan en el equipo remoto, como si se hubieran escrito
directamente en el equipo remoto. Puede conectarse solamente a
un equipo en cada sesin interactiva.
Para iniciar una sesin interactiva, utilice el cmdlet
Enter-PSSession. El siguiente comando inicia una sesin
interactiva con el equipo Servidor01:
enter-pssession servidor01
El smbolo del sistema cambia para indicar que se ha conectado
al equipo Servidor01.
Servidor01\PS>
Ahora, puede escribir comandos en el equipo Servidor01.
Para finalizar la sesin interactiva, escriba:
exit-pssession
Para obtener ms informacin, vea Enter-PSSession.

CMO UTILIZAR LOS CMDLETS QUE TIENEN UN PARMETRO COMPUTERNAME PARA


OBTENER DATOS REMOTOS

Varios cmdlets tienen un parmetro ComputerName que permite


obtener objetos de equipos remotos.
Dado que estos cmdlets no utilizan la comunicacin remota de Windows
PowerShell para comunicar, puede utilizar el parmetro ComputerName
de estos cmdlets en cualquier equipo donde se ejecute Windows PowerShell.
Los equipos no tienen que estar configurados para la comunicacin
remota de Windows PowerShell ni tienen que cumplir los requisitos
del sistema para la comunicacin remota.
Los siguientes cmdlets tienen un parmetro ComputerName:
Clear-EventLog
Get-Counter
Get-EventLog
Get-HotFix
Get-Process
Get-Service
Get-WinEvent
Get-WmiObject

Limit-EventLog
New-EventLog
Remove-EventLog
Restart-Computer
Show-EventLog
Show-Service
Stop-Computer
Write-EventLog

Por ejemplo, el comando siguiente obtiene los servicios en el


equipo remoto Servidor01:
get-service -computername servidor01
Normalmente, los cmdlets que admiten la comunicacin remota sin una
configuracin especial tienen un parmetro ComputerName y no tienen un
parmetro Session. Para encontrar estos cmdlets en su sesin, escriba:
get-command | where { $_.parameters.keys -contains "ComputerName" -and
$_.parameters.keys -notcontains "Session"}

CMO EJECUTAR UN COMANDO REMOTO


Para ejecutar otros comandos en equipos remotos, use el cmdlet
Invoke-Command.
Para ejecutar un solo comando o varios comandos no relacionados,
utilice el parmetro ComputerName de Invoke-Command para
especificar los equipos remotos. Use el parmetro ScriptBlock
para especificar el comando.
Por ejemplo, el comando siguiente ejecuta un comando Get-Culture
en el equipo Servidor01.
invoke-command -computername Servidor01 -scriptblock {get-culture}
El parmetro ComputerName se ha diseado para los casos en los
que se ejecuta un solo comando o varios comandos no relacionados
en uno o varios equipos.
Para establecer una conexin persistente con un equipo remoto,
utilice el parmetro Session.
CMO CREAR UNA CONEXIN PERSISTENTE (PSSESSION)

Cuando se usa el parmetro ComputerName del cmdlet Invoke-Command,


Windows PowerShell establece una conexin solamente para el
comando. A continuacin, cierra la conexin cuando se completa
el comando. Se pierden todas las variables o funciones definidas
en el comando.
Para crear una conexin persistente con un equipo remoto, utilice
el cmdlet New-PSSession. Por ejemplo, el comando siguiente crea
PSSessions en los equipos Servidor01 y Servidor02 y, a
continuacin, las guarda en la variable $s.
$s = new-pssession -computername Servidor01, Servidor02
CMO EJECUTAR COMANDOS EN UNA PSSESSION
Con una PSSession, se pueden ejecutar varios comandos remotos que
comparten datos, como funciones, alias y valores de variables.
Para ejecutar comandos en una PSSession, utilice el parmetro
Session del cmdlet Invoke-Command.
Por ejemplo, el comando siguiente utiliza el cmdlet
Invoke-Command para ejecutar un comando Get-Process en las
PSSessions de los equipos Servidor01 y Servidor02. El comando
guarda los procesos en la variable $p en cada PSSession.
invoke-command -session $s -scriptblock {$p = get-process}
Dado que la PSSession usa una conexin persistente, se puede ejecutar
en la misma PSSession otro comando que utilice la variable $p.
El comando siguiente cuenta el nmero de procesos guardados en $p.
invoke-command -session $s -scriptblock {$p.count}
CMO EJECUTAR UN COMANDO REMOTO EN VARIOS EQUIPOS
Para ejecutar un comando remoto en varios equipos, escriba todos
los nombres de equipo en el valor del parmetro ComputerName de
Invoke-Command. Separe los nombres con comas.
Por ejemplo, el comando siguiente ejecuta un comando Get-Culture
en tres equipos:
invoke-command -computername S1, S2, S3 -scriptblock {get-culture}
Tambin puede ejecutar un comando en varias PSSessions. Los comandos
siguientes crean PSSessions en los equipos Servidor01, Servidor02 y
Servidor03 y, a continuacin, ejecutan un comando Get-Culture en cada
PSSession.
$s = new-pssession -computername S1, S2, S3 invoke-command
-session $s -scriptblock {get-culture}
Para incluir la lista de equipos del equipo local, escriba el
nombre del equipo local, escriba un punto (.) o escriba "localhost".
invoke-command -computername S1, S2, S3, localhost -scriptblock {get-cul
ture}

CMO EJECUTAR UN SCRIPT EN EQUIPOS REMOTOS


Para ejecutar un script local en equipos remotos, utilice el parmetro
FilePath de Invoke-Command.
Por ejemplo, el comando siguiente ejecuta el script Ejemplo.ps1
en los equipos S1 y S2:
invoke-command -computername S1, S2 -filepath C:\Test\Ejemplo.ps1
Los resultados del script se devuelven al equipo local. No es
necesario copiar ningn archivo.
CMO DETENER UN COMANDO REMOTO
Para interrumpir un comando, presione CTRL+C. La solicitud de
interrupcin se pasa al equipo remoto donde termina el comando remoto.

MS INFORMACIN
-- Para obtener informacin sobre los requisitos del sistema para la
comunicacin remota, vea about_Remote_Requirements.
-- Para obtener Ayuda sobre el formato de los resultados remotos, vea
about_Remote_Output.
-- Para obtener informacin sobre el funcionamiento de la
comunicacin remota, la administracin de datos remotos,
configuraciones especiales, problemas de seguridad y otras
preguntas frecuentes, vea about_Remote_FAQ.
-- Para obtener Ayuda sobre cmo resolver los errores remotos, vea
about_Remote_Troubleshooting.
-- Para obtener informacin sobre las PSSessions y las conexiones
persistentes, vea about_PSSessions.
-- Para obtener informacin sobre los trabajos en segundo plano
de Windows PowerShell, vea about_Jobs.
PALABRAS CLAVE
about_Remoting
VEA TAMBIN
about_PSSessions
about_Remote_Requirements
about_Remote_FAQ
about_Remote_TroubleShooting
Enter-PSSession
Invoke-Command
New-PSSession

You might also like