Get-PSSession

Obtiene las sesiones de PowerShell en equipos locales y remotos.

Sintaxis

Get-PSSession
   [-Name <String[]>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-InstanceId <Guid[]>]
   [<CommonParameters>]
Get-PSSession
   [-Id] <Int32[]>
   [<CommonParameters>]

Description

El Get-PSSession cmdlet obtiene las sesiones de PowerShell administradas por el usuario (PSSessions) en equipos locales y remotos.

A partir de Windows PowerShell 3.0, las sesiones se almacenan en los equipos al final remoto de cada conexión. Puede usar los parámetros ComputerName o ConnectionUri de Get-PSSession para obtener las sesiones que se conectan al equipo local o a los equipos remotos, incluso si no se crearon en la sesión actual.

Sin parámetros, Get-PSSession obtiene todas las sesiones que se crearon en la sesión actual.

Use los parámetros de filtrado, incluidos Name, ID, InstanceID, State, ApplicationName y ConfigurationName para seleccionar entre las sesiones que Get-PSSession devuelven.

Use los parámetros restantes para configurar la conexión temporal en la que se ejecuta el Get-PSSession comando cuando se usan los parámetros ComputerName o ConnectionUri .

Nota:

En Windows PowerShell 2.0, sin parámetros, Get-PSSession obtiene todas las sesiones que se crearon en la sesión actual. El parámetro ComputerName obtiene sesiones que se crearon en la sesión actual y se conectan al equipo especificado.

Para obtener más información sobre las sesiones de PowerShell, consulte about_PSSessions.

Ejemplos

Ejemplo 1: Obtención de sesiones creadas en la sesión actual

Get-PSSession

Este comando obtiene todas las PSSession que se crearon en la sesión actual. No obtiene PSSessions que se crearon en otras sesiones o en otros equipos, incluso si se conectan a este equipo.

Ejemplo 2: Obtener sesiones conectadas al equipo local

Get-PSSession -ComputerName "localhost"

Este comando obtiene las PSSessions que están conectadas al equipo local. Para indicar el equipo local, escriba el nombre del equipo, localhost o un punto (.)

El comando devuelve todas las sesiones en el equipo local, incluso si se crearon en sesiones diferentes o en equipos diferentes.

Ejemplo 3: Obtener sesiones conectadas a un equipo

Get-PSSession -ComputerName "Server02"

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  2 Session3        Server02       Disconnected  ITTasks                       Busy
  1 ScheduledJobs   Server02       Opened        Microsoft.PowerShell     Available
  3 Test            Server02       Disconnected  Microsoft.PowerShell          Busy

Este comando obtiene las PSSessions que están conectadas al equipo Server02.

El comando devuelve todas las sesiones en Server02, incluso si se crearon en sesiones diferentes o en equipos diferentes.

La salida muestra que dos de las sesiones tienen un Disconnected estado y una Busy disponibilidad. Se crearon en sesiones distintas y están actualmente en uso. La ScheduledJobs sesión, que es Opened y Available, se creó en la sesión actual.

Ejemplo 4: Guardar los resultados de este comando

New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession

En este ejemplo se muestra cómo guardar los resultados de un Get-PSSession comando en varias variables.

El primer comando usa el New-PSSession cmdlet para crear PSSessions en tres equipos remotos .

El segundo comando usa un Get-PSSession cmdlet para obtener las tres PSSessions. A continuación, guarda cada una de las PSSessions en una variable independiente.

Cuando PowerShell asigna una matriz de objetos a una matriz de variables, asigna el primer objeto a la primera variable, el segundo objeto a la segunda variable, etc. Si hay más objetos que variables, asigna todos los objetos restantes a la última variable de la matriz. Si hay más variables que objetos, no se utilizan variables adicionales.

Ejemplo 5: Eliminación de una sesión mediante un identificador de instancia

Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s

En este ejemplo se muestra cómo obtener una PSSession mediante su identificador de instancia y, a continuación, para eliminar psSession.

El primer comando obtiene todas las PSSessions que se crearon en la sesión actual. Envía las PSSessions al Format-Table cmdlet , que muestra las propiedades ComputerName e InstanceID de cada PSSession.

El segundo comando usa el Get-PSSession cmdlet para obtener una PSSession determinada y guardarla en la $s variable . El comando usa el parámetro InstanceID para identificar la PSSession.

El tercer comando usa el cmdlet Remove-PSSession para eliminar la PSSession en la $s variable.

Ejemplo 6: Obtener una sesión con un nombre determinado

Los comandos de este ejemplo buscan una sesión que tiene un formato de nombre determinado y utiliza una configuración de sesión determinada y, después, se conecta a la sesión. Puede utilizar un comando como este para buscar una sesión en la que un colega inició una tarea y conectarse para finalizar la tarea.

Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  3 BackupJob04     Server02        Disconnected        ITTasks                  None

$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 5 BackupJob04     Server02        Opened        ITTasks                  Available

El primer comando obtiene sesiones en los equipos remotos Server02 y Server12 que tienen nombres que comienzan por BackupJob y usan la configuración de ITTasks sesión. El comando usa el parámetro Name para especificar el patrón de nombre y el parámetro ConfigurationName para especificar la configuración de sesión. El valor del parámetro SessionOption es una tabla hash que establece el valor de OperationTimeout en 240000 milisegundos (4 minutos). Esta configuración proporciona al comando más tiempo para completarse. Los parámetros ConfigurationName y SessionOption se usan para configurar las sesiones temporales en las que el Get-PSSession cmdlet se ejecuta en cada equipo. La salida muestra que el comando devuelve la BackupJob04 sesión. La sesión está desconectada y la disponibilidad es None, lo que indica que no está en uso.

El segundo comando usa el Get-PSSession cmdlet para llegar a la BackupJob04 sesión y al Connect-PSSession cmdlet para conectarse a la sesión. El comando guarda la sesión en la variable $s.

El tercer comando obtiene la sesión en la $s variable . La salida muestra que el Connect-PSSession comando se realizó correctamente. La sesión está en estado Abierto y está disponible para su uso.

Ejemplo 7: Obtener una sesión mediante su identificador

Get-PSSession -Id 2

Este comando obtiene la PSSession con el identificador 2. Dado que el valor de la propiedad ID es único solo en la sesión actual, el parámetro Id solo es válido para los comandos locales.

Parámetros

-AllowRedirection

Indica que este cmdlet permite el redireccionamiento de esta conexión a un identificador uniforme de recursos (URI) alternativo. De forma predeterminada, PowerShell no redirige las conexiones.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ConnectionUri .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ApplicationName

Especifica el nombre de una aplicación. Este cmdlet solo se conecta a sesiones que usan la aplicación especificada.

Escriba el segmento de nombre de aplicación del URI de conexión. Por ejemplo, en el siguiente URI de conexión, el nombre de la aplicación es WSMan: http://localhost:5985/WSMAN. El nombre de la aplicación de una sesión se almacena en la propiedad Runspace.ConnectionInfo.AppName de la sesión.

El valor de este parámetro sirve para seleccionar y filtrar las sesiones. No cambia la aplicación que la sesión utiliza.

Tipo:String
Posición:Named
Valor predeterminado:All sessions
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Authentication

Especifica el mecanismo que se usa para autenticar las credenciales de la sesión en la que se ejecuta el Get-PSSession comando.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ComputerName o ConnectionUri .

Los valores permitidos para este parámetro son los siguientes:

  • Default
  • Basic
  • CredSSP
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential.

El valor predeterminado es Default.

Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism (enumeración).

Precaución

La autenticación del proveedor de soporte técnico de seguridad de credenciales (CredSSP), en la que las credenciales del usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo el riesgo de seguridad de la operación remota. Si el equipo remoto se ve comprometido, las credenciales que se pasen a él se pueden utilizar para controlar la sesión de red.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:AuthenticationMechanism
Valores aceptados:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Posición:Named
Valor predeterminado:Default
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CertificateThumbprint

Especifica el certificado de clave pública digital (X509) de una cuenta de usuario que tiene permiso para crear la sesión en la que se ejecuta el Get-PSSession comando. Escriba la huella digital del certificado.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ComputerName o ConnectionUri .

Los certificados se usan para la autenticación basada en certificados de cliente. Solo se pueden asignar a cuentas de usuario locales y no funcionan con cuentas de dominio.

Para obtener una huella digital de certificado, use un Get-Item comando o Get-ChildItem en la unidad de PowerShell Cert: .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Especifica una matriz de nombres de equipos. Obtiene las sesiones que se conectan a los equipos especificados. No se admite el uso de caracteres comodín. No existe ningún valor predeterminado.

A partir de Windows PowerShell 3.0, los objetos PSSession se almacenan en los equipos al final remoto de cada conexión. Para obtener las sesiones en los equipos especificados, PowerShell crea una conexión temporal a cada equipo y ejecuta un Get-PSSession comando.

Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo de uno o más equipos. Para especificar el equipo local, escriba el nombre del equipo, localhosto un punto (.).

Nota:

Este parámetro obtiene sesiones solo de equipos que ejecutan Windows PowerShell 3.0 o versiones posteriores de PowerShell. Las versiones anteriores no almacenan sesiones.

Tipo:String[]
Alias:Cn
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ConfigurationName

Especifica el nombre de una configuración. Este cmdlet solo se obtiene a las sesiones que usan la configuración de sesión especificada.

Escriba un nombre de configuración o el URI de un recurso completo para configurar una sesión. Si especifica solo el nombre de configuración, se antepone el siguiente URI de esquema: http://schemas.microsoft.com/powershell. El nombre de configuración de una sesión se almacena en la propiedad ConfigurationName de la sesión.

El valor de este parámetro sirve para seleccionar y filtrar las sesiones. No cambia la configuración de sesión que la sesión utiliza.

Para más información sobre las configuraciones de sesión, vea about_Session_Configurations.

Tipo:String
Posición:Named
Valor predeterminado:All sessions
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ConnectionUri

Especifica un URI que define el punto de conexión para la sesión temporal en la que se ejecuta el Get-PSSession comando. El identificador URI debe ser completo.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ConnectionUri .

El formato de esta cadena es:

<Transport>://<ComputerName>:<Port\>/<ApplicationName>

El valor predeterminado es: http://localhost:5985/WSMAN.

Si no especifica un ConnectionUri, puede usar los parámetros UseSSL, ComputerName, Port y ApplicationName para especificar los valores connectionURI. Los valores válidos para el segmento Transport del identificador URI son HTTP y HTTPS. Si especifica un URI de conexión con un segmento de transporte, pero no especifica un puerto, la sesión se crea con puertos estándar: 80 para HTTP y 443 PARA HTTPS. Para usar los puertos predeterminados para la comunicación remota de PowerShell, especifique el puerto 5985 para HTTP o 5986 HTTPS.

Si el equipo de destino redirige la conexión a un URI diferente, PowerShell impide el redireccionamiento a menos que use el parámetro AllowRedirection en el comando.

Este parámetro se incorporó en Windows PowerShell 3.0.

Este parámetro obtiene sesiones solo de equipos que ejecutan Windows PowerShell 3.0 o versiones posteriores de Windows PowerShell. Las versiones anteriores no almacenan sesiones.

Tipo:Uri[]
Alias:URI, CU
Posición:0
Valor predeterminado:Http://localhost:5985/WSMAN
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ContainerId

Especifica una matriz de identificadores de contenedores. Este cmdlet inicia una sesión interactiva con cada uno de los contenedores especificados. Use el docker ps comando para obtener una lista de identificadores de contenedor. Para obtener más información, consulte la ayuda para el comando docker ps .

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Credential

Especifica una credencial de usuario. Este cmdlet ejecuta el comando con los permisos del usuario especificado. Especifique una cuenta de usuario que tenga permiso para conectarse al equipo remoto y ejecute un Get-PSSession comando. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto PSCredential generado por el Get-Credential cmdlet . Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.

Las credenciales se almacenan en un objeto PSCredential y la contraseña se almacena como SecureString.

Nota:

Para obtener más información sobre la protección de datos SecureString , consulte ¿Cómo es secure is SecureString?.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ComputerName o ConnectionUri .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Id

Especifica una matriz de identificadores de sesión. Este cmdlet obtiene solo las sesiones con los identificadores especificados. Escriba uno o varios identificadores, separados por comas, o use el operador de intervalo (..) para especificar un intervalo de identificadores. No puede usar el parámetro ID junto con el parámetro ComputerName .

Un identificador es un entero que identifica de forma única las sesiones administradas por el usuario en la sesión actual. Es más fácil recordar y escribir que instanceId, pero solo es único dentro de la sesión actual. El identificador de una sesión se almacena en la propiedad ID de la sesión.

Tipo:Int32[]
Posición:0
Valor predeterminado:All sessions
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-InstanceId

Especifica una matriz de identificadores de instancia de sesiones. Este cmdlet obtiene solo las sesiones con los identificadores de instancia especificados.

El identificador de instancia es un GUID que identifica de forma única una sesión en un equipo local o remoto. InstanceID es único, incluso cuando se ejecutan varias sesiones en PowerShell.

El identificador de instancia de una sesión se almacena en la propiedad InstanceID de la sesión.

Tipo:Guid[]
Posición:Named
Valor predeterminado:All sessions
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Name

Especifica una matriz de nombres de sesión. Este cmdlet obtiene solo las sesiones que tienen los nombres descriptivos especificados. Se permite el uso de caracteres comodín.

El nombre descriptivo de una sesión se almacena en la propiedad Name de la sesión.

Tipo:String[]
Posición:Named
Valor predeterminado:All sessions
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Port

Especifica el puerto de red especificado que se usa para la conexión temporal en la que se ejecuta el Get-PSSession comando. Para conectarse a un equipo remoto, este debe estar escuchando en el puerto que usa la conexión. Los puertos predeterminados son 5985, que es el puerto winRM para HTTP y 5986, que es el puerto winRM para HTTPS.

Antes de usar un puerto alternativo, debe configurar el agente de escucha de WinRM en el equipo remoto para poder escuchar en ese puerto. Para configurar el agente de escucha, escriba los dos comandos siguientes en el símbolo del sistema de PowerShell:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ComputerName o ConnectionUri .

No use el parámetro Port a menos que sea necesario. El conjunto de puertos del comando se aplica a todos los equipos o sesiones en los que se ejecuta el comando. Una configuración de puerto alternativo podría impedir que el comando se ejecutara en todos los equipos.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Int32
Posición:Named
Valor predeterminado:5985, 5986
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SessionOption

Especifica opciones avanzadas para la sesión. Escriba un objeto SessionOption , como uno que cree mediante el New-PSSessionOption cmdlet o una tabla hash en la que las claves son nombres de opción de sesión y los valores son valores de opción de sesión.

Los valores predeterminados de las opciones se determinan mediante el valor de la $PSSessionOption variable de preferencia, si se establece. De lo contrario, los valores predeterminados se establecerán mediante las opciones establecidas en la configuración de sesión.

Los valores de opción de sesión tienen prioridad sobre los valores predeterminados de las sesiones establecidas en la $PSSessionOption variable de preferencia y en la configuración de la sesión. Sin embargo, no tienen precedencia sobre los valores máximos, las cuotas o los límites establecidos en la configuración de sesión.

Para obtener una descripción de las opciones de sesión, incluidos los valores predeterminados, consulte New-PSSessionOption. Para obtener información sobre la $PSSessionOption variable de preferencia, consulte about_Preference_Variables. Para más información sobre las configuraciones de sesión, vea about_Session_Configurations.

Tipo:PSSessionOption
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-State

Especifica un estado de sesión. Este cmdlet solo obtiene sesiones en el estado especificado. Los valores aceptables para este parámetro son: All, Opened, Disconnected, Closedy Broken. El valor predeterminado es All.

El valor del estado de sesión es relativa a las sesiones actuales. Las sesiones que no se crearon en las sesiones actuales y que no están conectadas a la sesión actual tienen un estado incluso Disconnected cuando están conectados a una sesión diferente.

El estado de una sesión se almacena en la propiedad State de la sesión.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:SessionFilterState
Valores aceptados:All, Opened, Disconnected, Closed, Broken
Posición:Named
Valor predeterminado:All
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ThrottleLimit

Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar el Get-PSSession comando. Si omite este parámetro o especifica un valor de 0 (cero), se usa el valor predeterminado, 32, . El límite solo se aplica al comando actual, no a la sesión ni al equipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Int32
Posición:Named
Valor predeterminado:32
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UseSSL

Indica que este cmdlet usa el protocolo Capa de sockets seguros (SSL) para establecer la conexión en la que se ejecuta el Get-PSSession comando. De forma predeterminada, no se usa SSL. Si se usa este parámetro, pero SSL no está disponible en el puerto utilizado para el comando, el comando producirá un error.

Este parámetro configura la conexión temporal que se crea para ejecutar un Get-PSSession comando con el parámetro ComputerName .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VMId

Especifica una matriz de identificadores de máquinas virtuales. Este cmdlet inicia una sesión interactiva con cada una de las máquinas virtuales especificadas. Para ver las máquinas virtuales que están disponibles, use el siguiente comando:

Get-VM | Select-Object -Property Name, ID

Tipo:Guid[]
Alias:VMGuid
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VMName

Especifica una matriz de nombres de máquinas virtuales. Este cmdlet inicia una sesión interactiva con cada una de las máquinas virtuales especificadas. Para ver las máquinas virtuales que están disponibles, use el Get-VM cmdlet .

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

PSSession

Notas

PowerShell incluye los siguientes alias para Get-PSSession:

  • Todas las plataformas:

    • gsn
  • Este cmdlet obtiene objetos PSSession de sesiones administradas por el usuario, como los creados mediante los New-PSSessioncmdlets , Enter-PSSessiony Invoke-Command . No obtiene la sesión administrada por el sistema que se crea al iniciar PowerShell.

  • A partir de Windows PowerShell 3.0, los objetos PSSession se almacenan en el equipo que se encuentra en el lado servidor o recibe el final de una conexión. Para obtener las sesiones almacenadas en el equipo local o en un equipo remoto, PowerShell establece una sesión temporal en el equipo especificado y ejecuta comandos de consulta en la sesión.

  • Para obtener sesiones que se conectan a un equipo remoto, use los parámetros ComputerName o ConnectionUri para especificar el equipo remoto. Para filtrar las sesiones que Get-PSSession obtiene, use los parámetros Name, ID, InstanceID y State . Use los parámetros restantes para configurar la sesión temporal que Get-PSSession usa.

  • Cuando se usan los parámetros ComputerName o ConnectionUri , Get-PSSession solo obtiene sesiones de equipos que ejecutan Windows PowerShell 3.0 y versiones posteriores de PowerShell.

  • El valor de la propiedad State de una PSSession es relativo a la sesión actual. Por lo tanto, un valor de Disconnected significa que psSession no está conectado a la sesión actual. Sin embargo, no significa que PSSession esté desconectado de todas las sesiones. Podría estar conectada a una sesión diferente. Para determinar si puede conectarse o volver a conectarse a la PSSession desde la sesión actual, use la propiedad Availability .

Un valor de Disponibilidad de None indica que puede conectarse a la sesión. Un valor de Busy indica que no se puede conectar a PSSession porque está conectado a otra sesión.

Para obtener más información sobre los valores de la propiedad State de las sesiones, vea RunspaceState Enumeration.

Para obtener más información sobre los valores de la propiedad Availability de las sesiones, vea RunspaceAvailability Enumeration.