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 |
None 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.
See Also