Compartilhar via


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

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 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 um de PSSession, insira o de Nome do, ComputerName, Idou InstanceId da sessão.

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 por ID

Remove-PSSession -Id 1, 2

Este comando remove as 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 por nome

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

Esses comandos encerram as PSSessions que estão conectadas a computadores cujos nomes começam com 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 diferentes de ComputerName, Name, InstanceIde ID.

Exemplo 5: fechar uma sessão por 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
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 utiliza o cmdlet Get-PSSession para obter as 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, você pode identificar a PSSession a ser fechada e copiar e colar o InstanceId desse PSSession no segundo comando.

O segundo comando usa o cmdlet Remove-PSSession para remover a 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 }

Essa 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 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, localhostou 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

-ContainerId

Especifica uma matriz de IDs de contêineres. Esse 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 para o comando docker ps.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ContainerId
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
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 uma 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 um de PSSession. Para localizar o InstanceId do PSSessionsions 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 pode não ser exclusivo, quando você usa o parâmetroName, considere também o uso do parâmetro WhatIf ou Confirm no comando Remove-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 ou um comando que cria ou obtém o PSSessions, como um comando New-PSSession ou Get-PSSession. Você também pode redirecionar um ou mais objetos de sessão para Remove-PSSession.

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

-VMId

Especifica uma matriz de ID de máquinas virtuais. Esse 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 do parâmetro

Tipo:

Guid[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:VMGuid

Conjuntos de parâmetros

VMId
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-VMName

Especifica uma matriz de nomes de máquinas virtuais. Esse 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 do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

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

Observações

O Windows PowerShell inclui os seguintes aliases para Remove-PSSession:

  • rsn

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