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
-ContainerId <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-PSSession
-VMName <String[]>
[-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 Remove-PSSession
cmdlet fecha sessões do PowerShell (PSSessions) na sessão atual. Ele interrompe todos os comandos que estão sendo executados no PSSessions, termina o PSSession 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 local e remoto.
Para remover uma PSSession, digite Name, ComputerName, ID ou InstanceID da sessão.
Se você salvou o PSSession em uma variável, o objeto de sessão permanece na variável, mas o estado do PSSession é Closed.
Exemplos
Exemplo 1: Remover sessões por ID
Remove-PSSession -Id 1, 2
Este comando remove as 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 por nome
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Esses comandos fecham as PSSessions conectadas a computadores com nomes que começam com Serv
.
Exemplo 4: Fechar sessões conectadas a uma porta
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
Este 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: Fechar uma sessão por ID de 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
Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
Esses comandos mostram como fechar uma PSSession com base em sua ID de instância ou RemoteRunspaceID.
O primeiro comando usa o Get-PSSession
cmdlet para obter as PSSessions na sessão atual.
Ele usa um operador de pipeline (|
) para enviar as PSSessions para o Format-Table
cmdlet, 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 o PSSession a ser fechado e copiar e colar o InstanceID desse PSSession no segundo comando.
O segundo comando usa o Remove-PSSession
cmdlet para remover o PSSession com o ID de instância especificado.
Exemplo 6: Criar uma função que exclui todas as sessões na sessão atual
Function EndPSS { Get-PSSession | Remove-PSSession }
Esta função fecha cada PSSession 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. Este cmdlet fecha as PSSessions conectadas 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 localhost
do computador ou um ponto (.
).
Tipo: | String[] |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | True |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ContainerId
Especifica uma matriz de IDs de contêineres. Este cmdlet remove sessões para cada um dos contêineres especificados. Use o docker ps
comando para obter uma lista de IDs de contêiner. Para obter mais informações, consulte a ajuda para o comando docker ps .
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Id
Especifica uma matriz de IDs de sessões. Este cmdlet 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.
Um ID é um número inteiro que identifica exclusivamente a PSSession na sessão atual. É mais fácil de lembrar e digitar do que o InstanceId, mas é exclusivo apenas na sessão atual. Para localizar a ID de uma PSSession, execute o Get-PSSession
cmdlet sem parâmetros.
Tipo: | Int32[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-InstanceId
Especifica uma matriz de IDs de instância. Este cmdlet fecha as PSSessions que têm as IDs de instância especificadas.
O ID da instância é um GUID que identifica exclusivamente uma PSSession na sessão atual. O ID da instância é exclusivo, mesmo quando você tem várias sessões em execução em um único computador.
O ID da instância é armazenado na propriedade InstanceID do objeto que representa uma PSSession. Para localizar o InstanceID do PSSessions na sessão atual, digite Get-PSSession | Format-Table Name, ComputerName, InstanceId
.
Tipo: | Guid[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Name
Especifica uma matriz de nomes amigáveis de sessões. Este cmdlet fecha as PSSessions que têm os nomes amigáveis especificados. Caracteres curinga são permitidos.
Como o nome amigável de um PSSession pode não ser exclusivo, quando você usa o parâmetro Name , considere também usar o parâmetro WhatIf ou Confirm no Remove-PSSession
comando.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | True |
-Session
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 um New-PSSession
comando or Get-PSSession
. Você também pode canalizar um ou mais objetos de sessão para .Remove-PSSession
Tipo: | PSSession[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-VMId
Especifica uma matriz de ID de máquinas virtuais. Este cmdlet inicia uma sessão interativa com cada uma das máquinas virtuais especificadas. Para ver as máquinas virtuais que estão disponíveis para você, use o seguinte comando:
Get-VM | Select-Object -Property Name, ID
Tipo: | Guid[] |
Aliases: | VMGuid |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-VMName
Especifica uma matriz de nomes de máquinas virtuais. Este cmdlet inicia uma sessão interativa com cada uma das máquinas virtuais especificadas. Para ver as máquinas virtuais que estão disponíveis para você, use o Get-VM
cmdlet.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar um objeto de sessão para esse cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
O Windows PowerShell inclui os seguintes aliases para Remove-PSSession
:
rsn
O parâmetro Id é obrigatório. 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 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ê termina uma sessão, as PSSessions que você criou nessa sessão são fechadas à força.