Está en la página 1de 4

TEMA

about_PSSessions
DESCRIPCIN BREVE
Describe las sesiones de Windows PowerShell (PSSessions) y explica
cmo se establece una conexin persistente con un equipo remoto.
DESCRIPCIN DETALLADA
Para ejecutar los comandos de Windows PowerShell en un equipo
remoto, puede utilizar el parmetro ComputerName de un cmdlet o
crear una sesin de Windows PowerShell (PSSession) y ejecutar los
comandos en la PSSession.
Cuando se crea una PSSession, Windows PowerShell establece una
conexin persistente con el equipo remoto. Utilice una PSSession para
ejecutar una serie de comandos relacionados en un equipo remoto.
Los comandos que se ejecutan en la misma PSSession pueden compartir
datos, como valores de variables, alias y funciones.
Asimismo, puede crear una PSSession en el equipo local y ejecutar
comandos en dicha sesin. Una PSSession local utiliza la
infraestructura de comunicacin remota de Windows PowerShell para
crear y mantener la PSSession.
En este tema se explica cmo crear, usar, obtener y eliminar
PSSessions. Para obtener informacin ms avanzada, vea PSSession_Details.
Nota: las PSSessions utilizan la infraestructura de comunicacin
remota de Windows PowerShell.
Para poder usar PSSessions, los equipos locales y remotos
deben estar configurados para la comunicacin remota. Para
obtener ms informacin, vea about_Remote_Requirements.
En Windows Vista y versiones posteriores de Windows, para
poder crear una PSSession en un equipo local, debe iniciar
Windows PowerShell con la opcin "Ejecutar como administrador".
QU ES UNA SESIN?
Una sesin es un entorno en el que se ejecuta Windows PowerShell.
Cada vez que inicia Windows PowerShell, se crea automticamente una
sesin y puede ejecutar comandos en la sesin. Tambin puede agregar
elementos a la sesin, como mdulos y complementos, y crear
elementos, como variables, funciones y alias. Estos elementos existen
nicamente en la sesin y se eliminan cuando finaliza la sesin.
Asimismo, puede crear sesiones adicionales, denominadas "sesiones
de Windows PowerShell" o "PSSessions", en el equipo local o un
equipo remoto. Al igual que en la sesin predeterminada, puede
ejecutar comandos en una PSSession as como agregar y crear elementos.
Sin embargo, a diferencia de la sesin que se inicia
automticamente, puede controlar las PSSessions que crea. Puede
obtenerlas, crearlas, configurarlas y quitarlas, adems de
ejecutar varios comandos en la misma PSSession. La PSSessions
permanece abierta y disponible hasta que la elimine de la sesin.
Normalmente, se crea una PSSession para ejecutar una serie de comandos
relacionados en un equipo remoto. Cuando se crea una PSSession en un
equipo remoto, Windows PowerShell establece una conexin persistente

con el equipo remoto para que se admita la sesin.


Si utiliza el parmetro computerName del cmdlet Invoke-Command o EnterPSSession para ejecutar un comando remoto o iniciar una sesin
interactiva, Windows PowerShell crea una sesin temporal en el equipo
remoto y la cierra cuando se completa el comando o tan pronto como
finalice la sesin interactiva. No se pueden controlar estas sesiones
temporales ni se pueden usar para ms de un comando o una sesin
interactiva.
En Windows PowerShell, la "sesin actual" es la sesin en la que
se est trabajando. La "sesin actual" puede hacer referencia a
cualquier sesin, incluida una sesin temporal o una PSSession.
PARA QU SE UTILIZA UNA PSSESSION?
Utilice una PSSession cuando necesite una conexin persistente
con un equipo remoto. Con una PSSession, puede ejecutar una serie de
comandos que comparten datos, como valores de variables, el contenido
de una funcin o la definicin de un alias.
Puede ejecutar comandos remotos sin crear una PSSession. Utilice el
parmetro ComputerName de cmdlets habilitados para la comunicacin
remota a fin de ejecutar un solo comando o una serie de comandos no
relacionados en uno o varios equipos.
Cuando se usa el parmetro ComputerName de Invoke-Expression o
Enter-PSSession, Windows PowerShell establece una conexin temporal con el
equipo remoto y la cierra cuando se completa el comando. Cuando se
cierra la conexin, se pierden los elementos de datos creados.
Otros cmdlets que tienen un parmetro ComputerName, como
Get-Eventlog y Get-WmiObject, usan otras tecnologas de
comunicacin remota para recopilar datos. Ninguna de ellas crea
la conexin persistente que se crea en el caso de una PSSession.
CMO CREAR UNA PSSESSION
Para crear una PSSession, utilice el cmdlet New-PSSession. Para
crear la PSSession en un equipo remoto, use el parmetro
ComputerName del cmdlet New-PSSession.
Por ejemplo, el comando siguiente crea una nueva PSSession en el
equipo Servidor01.
new-pssession -computername Servidor01
Cuando se enva el comando, New-PSSession crea la PSSession y
devuelve un objeto que representa la PSSession. Puede guardar el
objeto en una variable al crear la PSSession o utilizar un comando GetPSSession para obtener la PSSession ms adelante.
Por ejemplo, el comando siguiente crea una nueva PSSession en el
equipo Servidor01 y guarda el objeto resultante en la variable $ps.
$ps = new-pssession -computername Servidor01
CMO CREAR PSSESSIONS EN VARIOS EQUIPOS
Para crear PSSessions en varios equipos, utilice el parmetro

ComputerName del cmdlet New-PSSession. Escriba los nombres de los


equipos remotos en una lista delimitada por comas.
Por ejemplo, para crear PSSessions en los equipos Servidor01, Servidor02 y
Servidor03, escriba:
new-PSSession -computername Servidor01, Servidor02, Servidor03
New-PSSession crea una PSSession en cada uno de los equipos remotos.
CMO OBTENER PSSESSIONS
Para obtener las PSSessions que se crearon en la sesin actual,
utilice el cmdlet Get-PSSession. Get-PSSession devuelve el mismo
tipo de objeto que New-PSSession.
El siguiente comando obtiene todas las PSSessions que se crearon en la
sesin actual.
get-PSSession
De forma predeterminada, se muestran el identificador y un nombre para
mostrar predeterminado de las PSSessions. Puede asignar un nombre para
mostrar alternativo al crear la sesin.
Id
--1
2
3

Name
---Session1
Session2
Session3

ComputerName
-----------Servidor01
Servidor02
Servidor03

State
----Opened
Opened
Opened

ConfigurationName
--------------------Microsoft.PowerShell
Microsoft.PowerShell
Microsoft.PowerShell

Tambin puede guardar las PSSessions en una variable. El comando


siguiente obtiene las PSSessions y las guarda en la variable $ps123.
$ps123 = get-PSSession
Al utilizar los cmdlets de PSSession, puede hacer referencia a
una PSSession por su identificador, nombre o identificador de
instancia (GUID). El comando siguiente obtiene una PSSession por su
identificador y la guarda en la variable $ps01.
$ps01 = get-PSSession -id 1
Get-PSSession obtiene nicamente las PSSessions que se crearon en
la sesin actual. No obtiene las PSSessions creadas en otras
sesiones o en otros equipos, incluso si las sesiones estn
conectadas con el equipo local y ejecutan comandos en dicho equipo.

CMO EJECUTAR COMANDOS EN UNA PSSESSION


Para ejecutar un comando en una o varias PSSessions, utilice el cmdlet
Invoke-Command. Use el parmetro Session para especificar las
PSSessions y el parmetro ScriptBlock para especificar el comando.
Por ejemplo, para ejecutar un comando Get-ChildItem ("dir") en
cada una de las tres PSSessions guardadas en la variable $ps123,
escriba:

invoke-command -session $ps123 -scriptblock {get-childitem}


CMO ELIMINAR PSSESSIONS
Cuando finalice la PSSession, utilice el cmdlet Remove-PSSession para
eliminarla y liberar los recursos que utilizaba.
remove-PSSession -session $ps
- o bien,
remove-PSSession -id 1
Si no elimina la PSSession, esta permanecer abierta y disponible
hasta que cierre la sesin actual o cierre Windows PowerShell.
Tambin puede utilizar el parmetro TimeOut de New-PSSession a fin de
establecer un tiempo de expiracin para una PSSession inactiva.
Para obtener ms informacin, vea new-PSSession.
CMDLETS DE PSSESSION
Cmdlet

Description

New-PSSession
Get-PSSession
Remove-PSSession
Enter-PSSession
Exit-PSSession

Crea una nueva PSSession en un equipo local o remoto.


Obtiene las PSSessions en la sesin actual.
Elimina las PSSessions en la sesin actual.
Inicia una sesin interactiva.
Finaliza una sesin interactiva.

Para obtener una lista de los cmdlets de PSSession, escriba:


get-help *-PSSession
MS INFORMACIN
Para obtener ms informacin sobre las PSSessions, vea
about_PSSession_details.
VEA TAMBIN
about_Remote
about_Remote_Requirements
New-PSSession
Get-PSSession
Remove-PSSession
Enter-PSSession
Exit-PSSession
Invoke-Command

También podría gustarte