Remove-PSSession
Cierra una o varias sesiones de PowerShell (PSSessions).
Sintaxis
Remove-PSSession
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
[-Session] <PSSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-ContainerId <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMName <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-InstanceId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-Name <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
[-ComputerName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Remove-PSSession
cierra las sesiones de PowerShell (PSSessions) en la sesión actual. Detiene los comandos que se ejecutan en las PSSessions, finaliza la PSSessiony libera los recursos que la PSSession estaba utilizando. Si el PSSession está conectado a un equipo remoto, este cmdlet también cierra la conexión entre los equipos locales y remotos.
Para quitar un psSession de, escriba el Nombre de, NombreDeEquipo, 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 Cerrado.
Ejemplos
Ejemplo 1: Quitar sesiones por ID
Remove-PSSession -Id 1, 2
Este comando quita las PSSessions que tienen los identificadores 1
y 2
.
Ejemplo 2: Quitar todas las sesiones de la sesión actual
Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s
Estos comandos quitan todas las PSSessions de la sesión actual. Aunque los tres formatos de comando tienen un aspecto diferente, tienen el mismo efecto.
Ejemplo 3: Cerrar sesiones por nombre
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Estos comandos cierran las PSSessions que están conectadas a computadoras que tienen nombres que comienzan por Serv
.
Ejemplo 4: Cerrar sesiones conectadas a un puerto
Get-PSSession | Where-Object {$_.Port -eq 90} | Remove-PSSession
Este comando cierra los PSSessions que están conectados al puerto 90. Puede usar este formato de comando para identificar psSessions por propiedades distintas de NombreDeEquipo, Nombre, InstanceIdy Id..
Ejemplo 5: Cerrar una sesión por identificador de instancia
Get-PSSession | Format-Table ComputerName, InstanceId -AutoSize
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
Remove-PSSession -InstanceId fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
Estos comandos muestran cómo cerrar un psSession en función de su identificador de instancia o RemoteRunspaceID.
El primer comando usa el cmdlet Get-PSSession
para obtener las PSSessions de la sesión actual.
Usa un operador de canalización (|
) para enviar las psSessions al cmdlet Format-Table
, que da formato a sus propiedades ComputerName y InstanceId de una tabla. El parámetro AutoSize comprime las columnas para su visualización.
En la pantalla resultante, puede identificar el psSession de que se va a cerrar y copiar y pegar el InstanceId de de ese 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: Creación de una función que elimina todas las sesiones de la sesión actual
function EndPSS { Get-PSSession | Remove-PSSession }
Esta función cierra cada PSSession en la sesión actual. Después de agregar esta función al perfil de PowerShell, para eliminar todas las sesiones, escriba EndPSS
.
Parámetros
-ComputerName
Especifica una matriz de nombres de equipos. Este cmdlet cierra los PSSessions que están conectados a los equipos especificados. Se permite el uso de caracteres comodín.
Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo de uno o varios equipos remotos. Para especificar el equipo local, escriba el nombre del equipo, localhost
o un punto (.
).
Tipo: | String[] |
Alias: | Cn |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ContainerId
Especifica una matriz de identificadores de contenedores. Este cmdlet elimina las sesiones de cada uno de los contenedores especificados. Use el comando docker ps
para obtener una lista de identificadores de contenedor. Para obtener más información, consulte la ayuda del comando docker ps.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Id
Especifica una matriz de identificadores de sesiones. Este cmdlet cierra las sesiones PS con los identificadores especificados.
Escriba uno o varios 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 recordar y escribir que el InstanceId, pero solo es único en la sesión actual. Para buscar el identificador de un PSSession, ejecute el cmdlet Get-PSSession
sin parámetros.
Tipo: | Int32[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-InstanceId
Especifica una matriz de identificadores de instancia. Este cmdlet cierra las PSSessions que tienen los identificadores de instancia especificados.
El identificador de instancia es un GUID que identifica univocamente un PSSession en la sesión actual. El identificador de instancia es único, incluso cuando se ejecutan varias sesiones en un solo equipo.
El identificador de instancia se almacena en la propiedad instanceId de del objeto que representa un PSSession. Para buscar el instanceId de del PSSessions en la sesión actual, escriba Get-PSSession | Format-Table Name, ComputerName, InstanceId
.
Tipo: | Guid[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica una matriz de nombres descriptivos de sesiones. Este cmdlet cierra las PSSessions que tienen los nombres descriptivos especificados. Se permite el uso de caracteres comodín.
Dado que el nombre descriptivo de una PSSession podría no ser único, cuando use el parámetro Name, considere la posibilidad de usar también el parámetro WhatIf o Confirm en el comando Remove-PSSession
.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-Session
Especifica los objetos de sesión de las PSSessions que se van a cerrar. Escriba una variable que contenga los PSSessions o un comando que cree u obtenga los PSSessions, como un comando New-PSSession
o Get-PSSession
. También puede canalizar uno o varios objetos de sesión para Remove-PSSession
.
Tipo: | PSSession[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
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 cmdlet Get-VM
.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar un objeto de sesión a este cmdlet.
Salidas
None
Este cmdlet no devuelve ninguna salida.
Notas
PowerShell incluye los siguientes alias para Remove-PSSession
:
Todas las plataformas:
rsn
El parámetro Id es obligatorio. Para eliminar todas las PSSessions de la sesión actual, escriba
Get-PSSession | Remove-PSSession
.Un PSSession usa una conexión persistente a un equipo remoto. Cree un PSSession para ejecutar una serie de comandos que comparten datos. Para obtener más información, escriba
Get-Help about_PSSessions
.Las PSSessions son específicas de la sesión actual. Cuando finaliza una sesión, se fuerza el cierre de las PSSessions que creó en esa sesión.