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>]

ContainerId

Remove-PSSession
    -ContainerId <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMId

Remove-PSSession
    -VMId <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMName

Remove-PSSession
    -VMName <String[]>
    [-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 um PSSession, insira o Nome, ComputerName , Idou InstanceId 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 por ID

Remove-PSSession -Id 1, 2

Este comando remove os PSSessions que têm os 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 por nome

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Esses comandos fecham as sessões PS que estão conectadas a computadores com nomes que começam com Serv.

Exemplo 4: Fechar sessões conectadas a uma porta

Get-PSSession | Where-Object {$_.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 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 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 seus ComputerName e propriedades 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 cmdlet Remove-PSSession para remover a sessã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 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 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, localhostou 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

-ContainerId

Especifica uma matriz de IDs de contêineres. Este cmdlet remove sessões para cada um dos contêineres especificados. Use o comando docker ps para obter uma lista de IDs de contêiner. Para obter mais informações, consulte a ajuda do comando docker ps.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ContainerId
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
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 do 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, ao utilizar o parâmetro Name, deve considerar 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 comando New-PSSession ou 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

-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

Propriedades dos parâmetros

Tipo:

Guid[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:VMGuid

Conjuntos de parâmetros

VMId
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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 cmdlet Get-VM.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

VMName
Position:Named
Obrigatório:True
Valor do pipeline:False
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 nenhuma saída.

Notas

O PowerShell inclui os seguintes aliases para Remove-PSSession:

  • Todas as plataformas:

    • rsn
  • 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.