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