Compartir a través de


Remove-PSSession

Cierra una o más sesiones de Windows PowerShell (PSSessions).

Sintaxis

Remove-PSSession [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-InstanceId <Guid[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Name <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Session] <PSSession[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Descripción

El cmdlet Remove-PSSession cierra las sesiones de Windows PowerShell (PSSessions) de la sesión actual. Detiene los comandos que se están ejecutando en la PSSession, finaliza la PSSession y libera los recursos que la PSSession estaba utilizando. Si la PSSession está conectada a un equipo remoto, Remove-PSSession también cierra la conexión entre los equipos local y remoto.

Para quitar una PSSession, debe escribirse el parámetro Name, ComputerName, ID o InstanceID de la sesión.

Si ha guardado la PSSession en una variable, el objeto de sesión permanece en la variable, pero el estado de la PSSession es "Closed" (cerrado).

Parámetros

-ComputerName <string[]>

Cierra las PSSessions que están conectadas a los equipos especificados. Se permite el uso de caracteres comodín.

Se debe escribir el nombre NetBIOS, la dirección IP o el nombre de dominio completo de uno o varios equipos remotos. Para especificar el equipo local, escriba el nombre del equipo, "localhost", o bien, un punto (.).

¿Requerido?

false

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

true

-Id <Int32[]>

Cierra las PSSessions con los identificadores especificados. Escriba uno o más identificadores (separados por comas) o use el operador de intervalo (..) para especificar un intervalo de identificadores.

Un identificador es un entero que identifica de forma única la PSSession en la sesión actual. Es más fácil de recordar y escribir que InstanceId, pero es único solamente en la sesión actual. Para buscar el identificador de una PSSession, se utiliza Get-PSSession sin parámetros.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-InstanceId <Guid[]>

Cierra las PSSessions con los identificadores de instancia especificados.

El identificador de instancia es un GUID que identifica de forma única una PSSession en la sesión actual. InstanceID es único, aunque se estén ejecutando varias sesiones en un solo equipo.

InstanceID se almacena en la propiedad InstanceID del objeto que representa una PSSession. Para buscar el valor de InstanceID de las PSSessions de la sesión actual, escriba "Get-PSSession | Format-Table Name, ComputerName, InstanceId".

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-Name <string[]>

Cierra las PSSessions con los nombres simples especificados. Se permite el uso de caracteres comodín.

Dado que el nombre simple de una PSSession podría no ser único, al utilizar el parámetro Name, considere también la posibilidad de utilizar el parámetro WhatIf o Confirm en el comando Remove-PSSession.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

true

-Session <PSSession[]>

Especifica los objetos de sesión de las PSSessions que se han de cerrar. Escriba una variable que contenga las PSSessions o un comando que las cree u obtenga, como un comando New-PSSession o Get-PSSession. También se pueden canalizar uno o más objetos de sesión a Remove-PSSession.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByValue, ByPropertyName)

¿Aceptar caracteres comodín?

false

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si se ejecutara el comando, sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Management.Automation.Runspaces.PSSession

Se puede canalizar un objeto de sesión a Remove-PSSession.

Salidas

Ninguno

Remove-PSSession no devuelve ningún objeto.

Notas

El parámetro ID es obligatorio. No se puede escribir "remove-pssession" sin parámetros. Para eliminar todas las PSSessions de la sesión actual, escriba "Get-PSSession | remove-pssession".

Una PSSession utiliza una conexión persistente con un equipo remoto. Cree una PSSession para ejecutar una serie de comandos que comparten datos. Para obtener más información, vea about_PSSessions.

Las PSSessions son específicas de la sesión actual. Al finalizar una sesión, se cierran forzosamente las PSSessions creadas en esa sesión.

Ejemplo 1

C:\PS>remove-pssession -id 1, 2

Descripción
-----------
Este comando quita las PSSessions cuyo identificador es 1 y 2.





Ejemplo 2

C:\PS>get-pssession | remove-pssession 

C:\PS> remove-pssession -session (get-pssession)

C:\PS> $s = get-pssession 
C:\PS> remove-pssession -session $s".

Descripción
-----------
Estos comandos quitan todas las PSSessions de la sesión actual. Aunque los tres formatos de comando son diferentes, tienen el mismo efecto.





Ejemplo 3

C:\PS>$r = get-pssession -computername Serv*

$r | remove-pssession

Descripción
-----------
Estos comandos cierran las PSSessions que están conectadas a equipos que tienen nombres que empiezan por "Serv".





Ejemplo 4

C:\PS>get-pssession | where {$_.port -eq 90} | remove-pssession

Descripción
-----------
Este comando cierra las PSSessions que están conectadas al puerto 90. Se puede utilizar este formato de comando para identificar PSSessions por propiedades distintas de ComputerName, Name, InstanceID e ID.





Ejemplo 5

C:\PS>get-pssession | ft computername, instanceID  -auto

ComputerName InstanceId
------------ ----------------
Server01     875d231b-2788-4f36-9f67-2e50d63bb82a
localhost    c065ffa0-02c4-406e-84a3-dacb0d677868
Server02     4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03     4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01   fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

C:\PS> remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Descripción
-----------
Estos comandos muestran la forma de cerrar una PSSession basándose en su identificador de instancia (RemoteRunspaceID). 

El primer comando utiliza el cmdlet Get-PSsession para obtener las PSSessions en la sesión actual. Utiliza un operador de canalización (|) para enviar las PSSessions al cmdlet Format-Table (alias: ft), que aplica formato a sus propiedades ComputerName e InstanceID en una tabla. El parámetro AutoSize ("auto") comprime las columnas para la presentación.

En la presentación resultante, el administrador puede identificar la PSSession que se ha de cerrar, así como copiar y pegar el parámetro InstanceID de esa PSSession en el segundo comando. 

El segundo comando usa el cmdlet Remove-PSSession para quitar la PSSession con el identificador de instancia especificado.





Ejemplo 6

C:\PS>function EndPSS { get-pssession | remove-pssession }

Descripción
-----------
Esta función elimina todas las PSSessions en la sesión actual. Después de agregar esta función al perfil de Windows PowerShell, para eliminar todas las sesiones basta con escribir "endpss".





Vea también

Conceptos

about_PSSessions
about_Remote
New-PSSession
Get-PSSession
Enter-PSSession
Exit-PSSession
Invoke-Command