Compartilhar via


Remove-PSSession

Fecha uma ou mais sessões do PowerShell (PSSessions).

Sintaxe

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-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

O cmdlet Remove-PSSession fecha as sessões do PowerShell (PSSessions) na sessão atual. Ele interrompe todos os comandos em execução no PSSessions, termina oPSSession e libera os recursos que o PSSession estava usando. Se o PSSession estiver conectado a um computador remoto, esse cmdlet também fechará a conexão entre os computadores locais e remotos.

Para remover umde PSSession , insira ode Nome do , ComputerName,de ID de ou InstanceID da sessão.

Se você salvou o PSSession em uma variável, o objeto de sessão permanecerá na variável, mas o estado do de PSSession será Fechado.

Exemplos

Exemplo 1: remover sessões usando IDs

Remove-PSSession -Id 1, 2

Esse comando remove o PSSessions que têm IDs 1 e 2.

Exemplo 2: remover todas as sessões na sessão atual

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

Esses comandos removem todas as PSSessions na sessão atual. Embora os três formatos de comando pareçam diferentes, eles têm o mesmo efeito.

Exemplo 3: Fechar sessões usando nomes

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

Esses comandos fecham as PSSessions que estão conectadas a computadores que têm nomes que começam com o Serv.

Exemplo 4: Fechar sessões conectadas a uma porta

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

Esse comando fecha o PSSessions que estão conectados à porta 90. Você pode usar esse formato de comando para identificar PSSessions por propriedades diferentes de ComputerName, Name, InstanceIDe ID.

Exemplo 5: fechar uma sessão com base na ID da instância

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

Esses comandos mostram como fechar um PSSession com base em sua ID de instância ou RemoteRunspaceID.

O primeiro comando usa o cmdlet Get-PSSession para obter o PSSessions na sessão atual. Ele usa um operador de pipeline (|) para enviar as PSSessions para o cmdlet Format-Table, que formata suas propriedades ComputerName e InstanceID em uma tabela. O parâmetro AutoSize compacta as colunas para exibição.

Na exibição resultante, você pode identificar a PSSession a ser fechada e copiar e colar o instanceID desse PSSession no segundo comando.

O segundo comando usa o cmdlet Remove-PSSession para remover o de PSSession com a ID da instância especificada.

Exemplo 6: Criar uma função que exclui todas as sessões na sessão atual

Function EndPSS { Get-PSSession | Remove-PSSession }

Essa função exclui todas as PSSessions na sessão atual. Depois de adicionar essa função ao seu perfil do PowerShell, para excluir todas as sessões, digite EndPSS.

Parâmetros

-ComputerName

Especifica uma matriz de nomes de computadores. Esse cmdlet fecha o PSSessions que estão conectados aos computadores especificados. Caracteres curinga são permitidos.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um ou mais computadores remotos. Para especificar o computador local, digite o nome do computador, localhost ou um ponto (.).

Tipo:String[]
Aliases:Cn
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Id

Especifica uma matriz de IDs de sessões. Esse cmdlet fecha o PSSessions com as IDs especificadas. Digite uma ou mais IDs, separadas por vírgulas ou use o operador de intervalo (..) para especificar um intervalo de IDs.

Uma ID é um inteiro que identifica exclusivamente o PSSession na sessão atual. É mais fácil lembrar e digitar do que o InstanceId, mas é exclusivo apenas na sessão atual. Para localizar a ID de um PSSession, execute o cmdlet Get-PSSession sem parâmetros.

Tipo:Int32[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-InstanceId

Especifica uma matriz de IDs de instância. Esse cmdlet fecha o PSSessions que têm as IDs de instância especificadas.

A ID da instância é um GUID que identifica exclusivamente um de PSSession na sessão atual. A ID da instância é exclusiva, mesmo quando você tem várias sessões em execução em um único computador.

A ID da instância é armazenada na propriedade InstanceID do objeto que representa umPSSession . Para localizar o instanceID do PSSessions na sessão atual, digite .

Tipo:Guid[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica uma matriz de nomes amigáveis de sessões. Esse cmdlet fecha o PSSessions que têm os nomes amigáveis especificados. Caracteres curinga são permitidos.

Como o nome amigável de uma PSSession pode não ser exclusivo, ao usar o parâmetro nome , considere também usar o parâmetro WhatIf ou Confirmar no comando Remove-PSSession.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Session

Especifica os objetos de sessão do PSSessions para fechar. Insira uma variável que contenha o PSSessions de ou um comando que cria ou obtém o PSSessions, como um comando New-PSSession ou Get-PSSession. Você também pode canalizar um ou mais objetos de sessão para Remove-PSSession.

Tipo:PSSession[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSSession

Você pode canalizar um objeto de sessão para este cmdlet.

Saídas

None

Esse cmdlet não retorna nenhum objeto.

Observações

  • O parâmetro de ID de é obrigatório. Para excluir todas as PSSessions na sessão atual, digite Get-PSSession | Remove-PSSession.
  • Um PSSession usa uma conexão persistente com um computador remoto. Crie um PSSession para executar uma série de comandos que compartilham dados. Para obter mais informações, digite Get-Help about_PSSessions.
  • PSSessions são específicos para a sessão atual. Quando você encerra uma sessão, as PSSessions que você criou nessa sessão são fechadas à força.