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 sessões do PowerShell (PSSessions) na sessão atual. Ele interrompe todos os comandos que estão sendo executados no PSSessions, termina o PSSessione 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 umPSSession
Se você salvou o
Exemplos
Exemplo 1: Remover sessões usando IDs
Remove-PSSession -Id 1, 2
Este comando remove os PSSessions
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 todos os 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 os PSSessions conectados 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 os 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 no 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 o PSSessions
Na exibição resultante, você pode identificar o
O segundo comando usa o cmdlet Remove-PSSession para remover o PSSession com a ID de 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 }
Esta função exclui todos os 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. Este cmdlet fecha os PSSessions 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 |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | True |
-Confirm
Solicita 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 |
-Id
Especifica uma matriz de IDs de sessões. Este 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.
Um ID é um número 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[] |
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 os PSSessions que têm as IDs de instância especificadas.
O ID da instância é um GUID que identifica exclusivamente um PSSession
O ID da instância é armazenado na propriedade InstanceID do objeto que representa um PSSession.
Para localizar o 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 os PSSessions que têm os nomes amigáveis especificados. Caracteres curinga são permitidos.
Como o nome amigável de um PSSession
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 do PSSessions para fechar.
Insira uma variável que contenha o PSSessions
Tipo: | PSSession[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. 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 nenhum objeto.
Notas
- O parâmetro Id é obrigatório. Para excluir todos os 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ê termina uma sessão, os PSSessions que você criou nessa sessão são fechados à força.