Compartir a través de


Remove-PSSession

Cierra una o varias sesiones de PowerShell (PSSessions).

Sintaxis

Id (valor predeterminado)

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

Session

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

InstanceId

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

Name

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

ComputerName

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

Description

El cmdlet remove-PSSession de 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 una PSSession, escriba los valores de Name, ComputerName, ID o InstanceID de la sesión.

Si ha guardado el de PSSession de en una variable, el objeto de sesión permanece en la variable, pero el estado del psSession es Closed.

Ejemplos

Ejemplo 1: Quitar sesiones mediante identificadores

Remove-PSSession -Id 1, 2

Este comando quita los PSSessions que tienen 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 mediante nombres

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Estos comandos cierran los PSSessions que están conectados a equipos que tienen nombres que comienzan por Serv.

Ejemplo 4: Cerrar sesiones conectadas a un puerto

Get-PSSession | where {$_.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 basada en el 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 PS C:\> 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 el psSessions de en la sesión actual. Usa un operador de canalización (|) para enviar los psSessions de al cmdlet Format-Table, que da formato a sus ComputerName y propiedades instanceID de una tabla. El parámetro AutoSize comprime las columnas para su visualización.

En la pantalla resultante, puede identificar la PSSession que se va cerrar, así como copiar y pegar el InstanceID de esa PSSession en el segundo comando.

El segundo comando usa el cmdlet remove-PSSession para quitar el psSession de 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 elimina todas las de PSSessions de 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 (.).

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False
Alias:CN

Conjuntos de parámetros

ComputerName
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades de parámetro

Tipo:

Int32[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Id
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes: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 del objeto que representa una PSSession. Para buscar el InstanceID de las PSSessions en la sesión actual, escriba Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Propiedades de parámetro

Tipo:

Guid[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

InstanceId
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes: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 es posible que el nombre descriptivo de un PSSes sion no sea único, al usar el parámetro Name, considere la posibilidad de usar también el parámetro WhatIf o Confirm en el comando Remove-PSSession.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

Name
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Session

Especifica los objetos de sesión de las PSSessions que se van a cerrar. Escriba una variable que contenga el psSessions de o un comando que crea o obtiene elPSSessions de , como un comando New-PSSession o get-PSSession. También puede canalizar uno o varios objetos de sesión para Remove-PSSession.

Propiedades de parámetro

Tipo:

PSSession[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Session
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSSession

Puede canalizar un objeto de sesión a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún objeto .

Notas

  • 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.