Partilhar via


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 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 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 para o cmdlet Format-Table, que formata suas propriedades ComputerName e InstanceID em uma tabela. O parâmetro AutoSize compacta as colunas para exibição.

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 pode não ser exclusivo, quando você usa o parâmetro Name, considere também usar o parâmetro WhatIf ou Confirm no comando Remove-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 ou um comando que crie ou obtenha o PSSessions, como um New-PSSession ou comando Get-PSSession. Você também pode canalizar um ou mais objetos de sessão para Remove-PSSession.

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.