Remove-PSSession
Fecha uma ou mais sessões do PowerShell (PSSessions).
Sintaxe
Id (Default)
Remove-PSSession
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Session
Remove-PSSession
[-Session] <PSSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Remove-PSSession
-InstanceId <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Name
Remove-PSSession
-Name <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerName
Remove-PSSession
[-ComputerName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Remove-PSSession fecha as sessões do PowerShell (PSSessions) na sessão atual. Ele interrompe todos os comandos em execução 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 locais e remotos.
Para remover umde PSSession
Se você salvou a PSSession em uma variável, o objeto de sessão permanecerá na variável, mas o estado da PSSession será Fechado.
Exemplos
Exemplo 1: remover sessões usando IDs
Remove-PSSession -Id 1, 2
Esse comando remove o 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 usando nomes
$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession
Esses comandos fecham as PSSessions que estão conectadas a computadores que têm nomes que começam com o Serv.
Exemplo 4: Fechar sessões conectadas a uma porta
Get-PSSession | where {$_.port -eq 90} | Remove-PSSession
Esse comando fecha as PSSessions que estão conectadas à porta 90. Você pode usar esse formato de comando para identificar PSSessions por propriedades que não sejam ComputerName, Name, InstanceIDe ID.
Exemplo 5: fechar uma sessão com base na 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 uma 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 as PSSessions
Na janela resultante, você pode identificar a PSSession para ser fechada e copiar e colar a InstanceID da PSSession no segundo comando.
O segundo comando usa o cmdlet Remove-PSSession
Exemplo 6: Criar uma função que exclui todas as sessões na sessão atual
Function EndPSS { Get-PSSession | Remove-PSSession }
Essa função exclui todas as 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 as PSSessions que estiverem conectadas a 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 (.).
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
| Aliases: | Cn |
Conjuntos de parâmetros
ComputerName
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | cf |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Id
Especifica uma matriz de IDs de sessões. Esse 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.
Uma ID é um inteiro que identifica exclusivamente a 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.
Propriedades do parâmetro
| Tipo: | Int32[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Id
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-InstanceId
Especifica uma matriz de IDs de instância. Esse cmdlet fecha as PSSessions que têm as IDs de instância especificadas.
A ID de instância é um GUID que identifica exclusivamente uma PSSession na sessão atual. A ID da instância é exclusiva, mesmo quando você tem várias sessões em execução em um único computador.
A ID da instância é armazenada na propriedade InstanceID do objeto que representa uma PSSession.
Para localizar a InstanceID das PSSessions na sessão atual, digite Get-PSSession | Format-Table Name, ComputerName, InstanceId.
Propriedades do parâmetro
| Tipo: | Guid[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
InstanceId
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Name
Especifica uma matriz de nomes amigáveis de sessões. Esse cmdlet fecha as PSSessions que têm os nomes amigáveis especificados. Caracteres curinga são permitidos.
Como o nome amigável de uma PSSession
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
Name
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Session
Especifica os objetos de sessão das PSSessions para fechar.
Insira uma variável que contenha o PSSessions de
Propriedades do parâmetro
| Tipo: | PSSession[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Session
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | wi |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
PSSession
Você pode canalizar um objeto de sessão para este cmdlet.
Saídas
None
Esse cmdlet não retorna nenhum objeto.
Observações
- O parâmetro Id é obrigatório. Para excluir todas as 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 em comum. Para obter mais informações, digite
Get-Help about_PSSessions. - As PSSessions são específicas para a sessão atual. Quando você encerra uma sessão, as PSSessions que você criou nessa sessão são fechadas à força.