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