Remove-PSSession
Fecha uma ou mais sessões do PowerShell (PSSessions).
Sintaxe
Id (Predefinição)
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 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 uma sessãodo PowerShell, insira o Nome, o Nome do Computador, o IDou o ID da Instância da sessão.
Se tiver guardado a PSSession numa variável, o objeto de sessão permanecerá na variável, mas o estado da PSSession estará fechado.
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 as PSSessions que estão conectadas à 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, pode identificar o PSSession a ser fechado e copiar e colar o InstanceID desse PSSession no segundo comando.
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 coringa 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 dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
| Aliases: | CN |
Conjuntos de parâmetros
ComputerName
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 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 dos parâmetros
| Tipo: | Int32[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
Id
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | 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 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 um PSSession.
Para localizar o InstanceID das PSSessions na sessão atual, digite Get-PSSession | Format-Table Name, ComputerName, InstanceId.
Propriedades dos parâmetros
| Tipo: | Guid[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
InstanceId
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Name
Especifica uma lista de nomes amigáveis para sessões. Este cmdlet fecha os PSSessions que têm nomes amigáveis especificados. Caracteres coringa são permitidos.
Como o nome amigável de um PSSession
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
Name
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Session
Especifica os objetos de sessão do PSSessions para fechar.
Insira uma variável que contenha o PSSessions
Propriedades dos parâmetros
| Tipo: | PSSession[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
Session
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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 esse cmdlet.
Saídas
None
Este cmdlet não retorna nenhum objeto.
Notas
- O parâmetro Id é obrigatório. Para excluir todas as PSSessions na sessão corrente, digite
Get-PSSession | Remove-PSSession. - Um PSSession usa uma conexão persistente com um computador remoto. Crie uma PSSession para executar uma série de comandos que partilham 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.