Compartilhar via


Remove-PSSession

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

Sintaxe

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>]

Descrição

O cmdlet Remove-PSSession fecha as sessões do Windows PowerShell (PSSessions) na sessão atual. Ele interrompe qualquer comando que esteja em execução nas PSSessions, encerra a PSSession e libera os recursos que a PSSession estava usando. Se a PSSession estiver conectada a um computador remoto, Remove-PSSession também fechará a conexão entre os computadores local e remoto.

Para remover uma PSSession, insira os valores Name, ComputerName, ID ou InstanceID da sessão.

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

Parâmetros

-ComputerName <string[]>

Fecha as PSSessions que estão conectadas aos computadores especificados. Os 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 (.).

Necessário?

false

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

true

-Id <Int32[]>

Fecha as 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 com exclusividade a PSSession na sessão atual. É mais fácil de lembrar e digitar do que o InstanceId, mas ela é exclusiva somente na sessão atual. Para localizar a ID de uma PSSession, use Get-PSSession sem parâmetros.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-InstanceId <Guid[]>

Fecha as PSSessions com as IDs de instância especificadas.

Uma ID de instância é um GUID que identifica com exclusividade uma PSSession na sessão atual. O InstanceID é exclusivo, mesmo quando você tem várias sessões em execução em um único computador.

O InstanceID é armazenado na propriedade InstanceID do objeto que representa uma PSSession. Para localizar o InstanceID das PSSessions na sessão atual, digite "Get-PSSession | Format-Table Name, ComputerName, InstanceId".

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-Name <string[]>

Fecha as PSSessions com os nomes amigáveis especificados. Os caracteres curinga são permitidos.

Como o nome amigável de uma PSSession talvez não seja exclusivo, ao usar o parâmetro Name, avalie a possibilidade de usar o parâmetro WhatIf ou Confirm no comando Remove-PSSession.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

true

-Session <PSSession[]>

Especifica os objetos de sessão das PSSessions a serem fechadas. Insira uma variável que contenha as PSSessions ou um comando que crie ou obtenha as PSSessions, como o comando New-PSSession ou Get-PSSession. Também é possível canalizar um ou mais objetos de sessão para Remove-PSSession.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByValue, ByPropertyName)

Aceitar caracteres curinga?

false

-Confirm

Solicita confirmação antes da execução do comando.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-WhatIf

Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Management.Automation.Runspaces.PSSession

Você pode canalizar um objeto de sessão para Remove-PSSession.

Saídas

Nenhum

Remove-PSSession não retorna objetos.

Observações

O parâmetro ID é obrigatório. Você não pode digitar "remove-pssession" sem parâmetros. Para excluir todas as PSSessions na sessão atual, digite "Get-PSSession | remove-pssession".

Uma PSSession usa uma conexão persistente com um computador remoto. Crie uma PSSession para executar uma série de comandos que compartilham dados. Para obter mais informações, consulte about_PSSessions.

PSSessions são específicas da sessão atual. Quando você encerra uma sessão, as PSSessions que você criou nessa sessão são obrigatoriamente fechadas.

Exemplo 1

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

Descrição
-----------
Esse comando remove as PSSessions com IDs 1 e 2.





Exemplo 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".

Descrição
-----------
Esses comandos removem todas as PSSessions na sessão atual. Embora os três formatos de comando tenham aparência diferente, eles têm o mesmo efeito.





Exemplo 3

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

$r | remove-pssession

Descrição
-----------
Esses comandos fecham as PSSessions conectadas a computadores com nomes que começam com "Serv".





Exemplo 4

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

Descrição
-----------
Esse comando fecha as PSSessions que estão conectadas à porta 90. Você pode usar esse formato de comando para identificar PSSessions por propriedades diferentes de ComputerName, Name, InstanceID e ID.





Exemplo 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

Descrição
-----------
Esses comandos mostram como fechar uma PSSession com base em sua ID de instância (RemoteRunspaceID). 

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

Na exibição resultante, o administrador pode identificar a PSSession a ser fechada e copiar e colar o InstanceID dessa PSSession no segundo comando. 

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





Exemplo 6

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

Descrição
-----------
Essa função exclui todas as PSSessions na sessão atual. Depois de adicionar essa função ao seu perfil do Windows PowerShell, basta digitar "endpss" para excluir todas as sessões.





Consulte também

Conceitos

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