Get-PSSession

Obtém as sessões do PowerShell em computadores locais e remotos.

Syntax

Get-PSSession
   [-Name <String[]>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-InstanceId <Guid[]>]
   [<CommonParameters>]
Get-PSSession
   [-Id] <Int32[]>
   [<CommonParameters>]

Description

O Get-PSSession cmdlet obtém as sessões do PowerShell gerenciadas pelo usuário (PSSessions) em computadores locais e remotos.

A partir do Windows PowerShell 3.0, as sessões são armazenadas nos computadores na extremidade remota de cada conexão. Você pode usar os parâmetros ComputerName ou ConnectionUri para Get-PSSession obter as sessões que se conectam ao computador local ou a computadores remotos, mesmo que elas não tenham sido criadas na sessão atual.

Sem parâmetros, Get-PSSession obtém todas as sessões que foram criadas na sessão atual.

Use os parâmetros de filtragem, incluindo Name, ID, InstanceID, State, ApplicationName e ConfigurationName para selecionar entre as sessões que Get-PSSession retornam.

Use os parâmetros restantes para configurar a conexão temporária na qual o Get-PSSession comando é executado quando você usa os parâmetros ComputerName ou ConnectionUri .

Nota

No Windows PowerShell 2.0, sem parâmetros, Get-PSSession obtém todas as sessões que foram criadas na sessão atual. O parâmetro ComputerName obtém sessões que foram criadas na sessão atual e se conectam ao computador especificado.

Para obter mais informações sobre sessões do PowerShell, consulte about_PSSessions.

Exemplos

Exemplo 1: Obter sessões criadas na sessão atual

Get-PSSession

Este comando obtém todas as PSSessions que foram criadas na sessão atual. Ele não obtém PSSessions que foram criados em outras sessões ou em outros computadores, mesmo se eles se conectarem a este computador.

Exemplo 2: Obter sessões conectadas ao computador local

Get-PSSession -ComputerName "localhost"

Este comando obtém as PSSessions que estão conectadas ao computador local. Para indicar o computador local, digite o nome do computador, localhost ou um ponto (.)

O comando retorna todas as sessões no computador local, mesmo que tenham sido criadas em sessões diferentes ou em computadores diferentes.

Exemplo 3: Obter sessões conectadas a um computador

Get-PSSession -ComputerName "Server02"

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  2 Session3        Server02       Disconnected  ITTasks                       Busy
  1 ScheduledJobs   Server02       Opened        Microsoft.PowerShell     Available
  3 Test            Server02       Disconnected  Microsoft.PowerShell          Busy

Este comando obtém as PSSessions que estão conectadas ao computador Server02.

O comando retorna todas as sessões no Server02, mesmo que tenham sido criadas em sessões diferentes ou em computadores diferentes.

A saída mostra que duas das sessões têm um Disconnected estado e uma Busy disponibilidade. Eles foram criados em diferentes sessões e estão atualmente em uso. A ScheduledJobs sessão, que é Opened e Available, foi criada na sessão atual.

Exemplo 4: Salvar resultados deste comando

New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession

Este exemplo mostra como salvar os resultados de um Get-PSSession comando em várias variáveis.

O primeiro comando usa o New-PSSession cmdlet para criar PSSessions em três computadores remotos.

O segundo comando usa um Get-PSSession cmdlet para obter as três PSSessions. Em seguida, ele salva cada uma das PSSessions em uma variável separada.

Quando o PowerShell atribui uma matriz de objetos a uma matriz de variáveis, ele atribui o primeiro objeto à primeira variável, o segundo objeto à segunda variável e assim por diante. Se houver mais objetos do que variáveis, ele atribuirá todos os objetos restantes à última variável na matriz. Se houver mais variáveis do que objetos, as variáveis extras não serão usadas.

Exemplo 5: Excluir uma sessão usando um ID de instância

Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s

Este exemplo mostra como obter uma PSSession usando sua ID de instância e, em seguida, excluir a PSSession.

O primeiro comando obtém todas as PSSessions que foram criadas na sessão atual. Ele envia as PSSessions para o Format-Table cmdlet, que exibe as propriedades ComputerName e InstanceID de cada PSSession.

O segundo comando usa o Get-PSSession cmdlet para obter uma PSSession específica e salvá-la na $s variável. O comando usa o parâmetro InstanceID para identificar o PSSession.

O terceiro comando usa o cmdlet Remove-PSSession para excluir o PSSession na $s variável.

Exemplo 6: Obter uma sessão com um nome específico

Os comandos neste exemplo localizam uma sessão que tem um formato de nome específico e usam uma configuração de sessão específica e, em seguida, conectam-se à sessão. Você pode usar um comando como este para encontrar uma sessão na qual um colega iniciou uma tarefa e se conectar para concluir a tarefa.

Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  3 BackupJob04     Server02        Disconnected        ITTasks                  None

$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 5 BackupJob04     Server02        Opened        ITTasks                  Available

O primeiro comando obtém sessões nos computadores remotos Server02 e Server12 que têm nomes que começam com BackupJob e usam a configuração de ITTasks sessão. O comando usa o parâmetro Name para especificar o padrão name e o parâmetro ConfigurationName para especificar a configuração da sessão. O valor do parâmetro SessionOption é uma tabela de hash que define o valor de OperationTimeout como 240000 milissegundos (4 minutos). Essa configuração dá ao comando mais tempo para ser concluído. Os parâmetros ConfigurationName e SessionOption são usados para configurar as sessões temporárias nas quais o Get-PSSession cmdlet é executado em cada computador. A saída mostra que o comando retorna a BackupJob04 sessão. A sessão está desconectada e a Disponibilidade é None, o que indica que ela não está em uso.

O segundo comando usa o Get-PSSession cmdlet para chegar à BackupJob04 sessão e o Connect-PSSession cmdlet para se conectar à sessão. O comando salva a sessão na $s variável.

O terceiro comando obtém a sessão na $s variável. A saída mostra que o Connect-PSSession comando foi bem-sucedido. A sessão está no estado Aberto e está disponível para uso.

Exemplo 7: Obter uma sessão usando sua ID

Get-PSSession -Id 2

Este comando obtém o PSSession com ID 2. Como o valor da propriedade ID é exclusivo somente na sessão atual, o parâmetro Id é válido apenas para comandos locais.

Parâmetros

-AllowRedirection

Indica que esse cmdlet permite o redirecionamento dessa conexão para um URI (Uniform Resource Identifier) alternativo. Por padrão, o PowerShell não redireciona conexões.

Este parâmetro configura a conexão temporária criada para executar um Get-PSSession comando com o parâmetro ConnectionUri .

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

Especifica o nome de um aplicativo. Esse cmdlet se conecta somente a sessões que usam o aplicativo especificado.

Insira o segmento de nome do aplicativo do URI de conexão. Por exemplo, no seguinte URI de conexão, o nome do aplicativo é WSMan: http://localhost:5985/WSMAN. O nome do aplicativo de uma sessão é armazenado na propriedade Runspace.ConnectionInfo.AppName da sessão.

O valor desse parâmetro é usado para selecionar e filtrar sessões. Ele não altera o aplicativo que a sessão usa.

Type:String
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

Especifica o mecanismo usado para autenticar credenciais para a sessão na qual o Get-PSSession comando é executado.

Este parâmetro configura a conexão temporária criada para executar um Get-PSSession comando com o parâmetro ComputerName ou ConnectionUri .

Os valores aceitáveis para este parâmetro são:

  • Default
  • Basic
  • CredSSP
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential.

O valor predefinido é Default.

Para obter mais informações sobre os valores desse parâmetro, consulte Enumeração AuthenticationMechanism.

Atenção

A autenticação CredSSP (Credential Security Support Provider), na qual as credenciais do usuário são passadas para um computador remoto para ser autenticado, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Este mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas para ele podem ser usadas para controlar a sessão de rede.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para criar a sessão na qual o Get-PSSession comando é executado. Insira a impressão digital do certificado.

Este parâmetro configura a conexão temporária criada para executar um Get-PSSession comando com o parâmetro ComputerName ou ConnectionUri .

Os certificados são usados na autenticação baseada em certificado de cliente. Eles podem ser mapeados apenas para contas de usuário locais; eles não funcionam com contas de domínio.

Para obter uma impressão digital de certificado, use um Get-Item comando ou Get-ChildItem na unidade do PowerShell Cert: .

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Especifica uma matriz de nomes de computadores. Obtém as sessões que se conectam aos computadores especificados. Caracteres curinga não são permitidos. Não há nenhum valor padrão.

A partir do Windows PowerShell 3.0, os objetos PSSession são armazenados nos computadores na extremidade remota de cada conexão. Para obter as sessões nos computadores especificados, o PowerShell cria uma conexão temporária com cada computador e executa um Get-PSSession comando.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um ou mais computadores. Para especificar o computador local, digite o nome localhostdo computador ou um ponto (.).

Nota

Esse parâmetro obtém sessões somente de computadores que executam o Windows PowerShell 3.0 ou versões posteriores do PowerShell. As versões anteriores não armazenam sessões.

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConfigurationName

Especifica o nome de uma configuração. Este cmdlet chega apenas a sessões que usam a configuração de sessão especificada.

Insira um nome de configuração ou o URI de recurso totalmente qualificado para uma configuração de sessão. Se você especificar apenas o nome da configuração, o seguinte URI do esquema será precedido: http://schemas.microsoft.com/powershell. O nome de configuração de uma sessão é armazenado na propriedade ConfigurationName da sessão.

O valor desse parâmetro é usado para selecionar e filtrar sessões. Ele não altera a configuração da sessão que a sessão usa.

Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations.

Type:String
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ConnectionUri

Especifica um URI que define o ponto de extremidade de conexão para a sessão temporária na qual o Get-PSSession comando é executado. O URI deve ser totalmente qualificado.

Este parâmetro configura a conexão temporária criada para executar um Get-PSSession comando com o parâmetro ConnectionUri .

O formato desta cadeia de caracteres é:

<Transport>://<ComputerName>:<Port\>/<ApplicationName>

O valor padrão é: http://localhost:5985/WSMAN.

Se você não especificar um ConnectionUri, poderá usar os parâmetros UseSSL, ComputerName, Port e ApplicationName para especificar os valores ConnectionURI. Os valores válidos para o segmento Transport do URI são HTTP e HTTPS. Se você especificar um URI de conexão com um segmento de Transporte, mas não especificar uma porta, a sessão será criada com portas padrão: 80 para HTTP e 443 para HTTPS. Para usar as portas padrão para comunicação remota do PowerShell, especifique a porta 5985 para HTTP ou 5986 HTTPS.

Se o computador de destino redireciona a conexão para um URI diferente, o PowerShell impede o redirecionamento, a menos que você use o parâmetro AllowRedirection no comando.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Esse parâmetro obtém sessões somente de computadores que executam o Windows PowerShell 3.0 ou versões posteriores do Windows PowerShell. As versões anteriores não armazenam sessões.

Type:Uri[]
Aliases:URI, CU
Position:0
Default value:Http://localhost:5985/WSMAN
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ContainerId

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

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Especifica uma credencial de usuário. Este cmdlet executa o comando com as permissões do usuário especificado. Especifique uma conta de usuário que tenha permissão para se conectar ao computador remoto e execute um Get-PSSession comando. A predefinição é o utilizador atual.

Digite um nome de usuário, como User01 or Domain01\User01, ou insira um objeto PSCredential gerado pelo Get-Credential cmdlet. Se escrever um nome de utilizador, ser-lhe-á pedido que introduza a palavra-passe.

As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.

Nota

Para obter mais informações sobre a proteção de dados do SecureString , consulte Quão seguro é o SecureString?.

Este parâmetro configura a conexão temporária que é criada para executar um Get-PSSession comando com o parâmetro ComputerName ou ConnectionUri .

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Especifica uma matriz de IDs de sessão. Este cmdlet obtém apenas as sessões 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. Não é possível usar o parâmetro ID junto com o parâmetro ComputerName .

Um ID é um número inteiro que identifica exclusivamente as sessões gerenciadas pelo usuário na sessão atual. É mais fácil de lembrar e digitar do que o InstanceId, mas é exclusivo apenas dentro da sessão atual. A ID de uma sessão é armazenada na propriedade ID da sessão.

Type:Int32[]
Position:0
Default value:All sessions
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Especifica uma matriz de IDs de instância de sessões. Este cmdlet obtém apenas as sessões com as IDs de instância especificadas.

O ID da instância é um GUID que identifica exclusivamente uma sessão em um computador local ou remoto. O InstanceID é exclusivo, mesmo quando você tem várias sessões em execução no PowerShell.

O ID da instância de uma sessão é armazenado na propriedade InstanceID da sessão.

Type:Guid[]
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Especifica uma matriz de nomes de sessão. Este cmdlet obtém apenas as sessões que têm os nomes amigáveis especificados. Caracteres curinga são permitidos.

O nome amigável de uma sessão é armazenado na propriedade Name da sessão.

Type:String[]
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Port

Especifica a porta de rede especificada que é usada para a conexão temporária na qual o Get-PSSession comando é executado. Para se conectar a um computador remoto, o computador remoto deve estar escutando na porta que a conexão usa. As portas padrão são 5985, que é a porta WinRM para HTTP e 5986, que é a porta WinRM para HTTPS.

Antes de usar uma porta alternativa, você deve configurar o ouvinte do WinRM no computador remoto para ouvir nessa porta. Para configurar o ouvinte, digite os dois comandos a seguir no prompt do PowerShell:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Este parâmetro configura a conexão temporária que é criada para executar um Get-PSSession comando com o parâmetro ComputerName ou ConnectionUri .

Não use o parâmetro Port, a menos que seja necessário. A porta definida no comando aplica-se a todos os computadores ou sessões em que o comando é executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:Int32
Position:Named
Default value:5985, 5986
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

Especifica opções avançadas para a sessão. Introduza um objeto SessionOption, como o que cria ao utilizar o cmdlet New-PSSessionOption ou uma tabela hash em que as chaves são nomes de opção de sessão e os valores são valores de opção de sessão.

Os valores padrão para as opções são determinados pelo valor da variável de $PSSessionOption preferência, se ela estiver definida. Caso contrário, os valores padrão são estabelecidos pelas opções definidas na configuração da sessão.

Os valores de opção de sessão têm precedência sobre os $PSSessionOption valores padrão para sessões definidas na variável de preferência e na configuração da sessão. No entanto, eles não têm precedência sobre os valores máximos, cotas ou limites definidos na configuração da sessão.

Para obter uma descrição das opções de sessão, incluindo os valores padrão, consulte New-PSSessionOption. Para obter informações sobre a variável de $PSSessionOption preferência, consulte about_Preference_Variables. Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-State

Especifica um estado de sessão. Este cmdlet obtém apenas sessões no estado especificado. Os valores aceitáveis para este parâmetro são: All, Opened, Disconnected, Closede Broken. O valor predefinido é All.

O valor do estado da sessão é relativo às sessões atuais. As sessões que não foram criadas nas sessões atuais e não estão conectadas à sessão atual têm um estado de Disconnected mesmo quando estão conectadas a uma sessão diferente.

O estado de uma sessão é armazenado na propriedade State da sessão.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:SessionFilterState
Accepted values:All, Opened, Disconnected, Closed, Broken
Position:Named
Default value:All
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o Get-PSSession comando. Se você omitir esse parâmetro ou inserir um valor de 0 (zero), o valor padrão, 32, será usado. O limite de aceleração aplica-se apenas ao comando atual, não à sessão ou ao computador.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:Int32
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Indica que esse cmdlet usa o protocolo SSL (Secure Sockets Layer) para estabelecer a conexão na qual o Get-PSSession comando é executado. Por padrão, o SSL não é usado. Se você usar esse parâmetro, mas o SSL não estiver disponível na porta usada para o comando, o comando falhará.

Este parâmetro configura a conexão temporária criada para executar um Get-PSSession comando com o parâmetro ComputerName .

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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

Type:Guid[]
Aliases:VMGuid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Get-VM cmdlet.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

PSSession

Notas

O PowerShell inclui os seguintes aliases para Get-PSSession:

  • Todas as plataformas:

    • gsn
  • Este cmdlet obtém objetos PSSession de sessões gerenciadas pelo usuário", como aqueles que são criados usando os New-PSSessioncmdlets , Enter-PSSessione Invoke-Command . Ele não obtém a sessão gerenciada pelo sistema que é criada quando você inicia o PowerShell.

  • A partir do Windows PowerShell 3.0, os objetos PSSession são armazenados no computador que está no lado do servidor ou recebendo a extremidade de uma conexão. Para obter as sessões armazenadas no computador local ou em um computador remoto, o PowerShell estabelece uma sessão temporária no computador especificado e executa comandos de consulta na sessão.

  • Para obter sessões que se conectam a um computador remoto, use os parâmetros ComputerName ou ConnectionUri para especificar o computador remoto. Para filtrar as sessões obtidas Get-PSSession , use os parâmetros Name, ID, InstanceID e State . Use os parâmetros restantes para configurar a sessão temporária que Get-PSSession usa.

  • Quando você usa os parâmetros ComputerName ou ConnectionUri, Get-PSSession obtém apenas sessões de computadores que executam o Windows PowerShell 3.0 e versões posteriores do PowerShell.

  • O valor da propriedade State de uma PSSession é relativo à sessão atual. Portanto, um valor de Desconectado significa que o PSSession não está conectado à sessão atual. No entanto, isso não significa que o PSSession esteja desconectado de todas as sessões. Ele pode estar conectado a uma sessão diferente. Para determinar se você pode se conectar ou se reconectar ao PSSession a partir da sessão atual, use a propriedade Availability .

Um valor de Disponibilidade de Nenhum indica que você pode se conectar à sessão. Um valor de Ocupado indica que você não pode se conectar ao PSSession porque ele está conectado a outra sessão.

Para obter mais informações sobre os valores da propriedade State das sessões, consulte Enumeração RunspaceState.

Para obter mais informações sobre os valores da propriedade Availability das sessões, consulte Enumeração RunspaceAvailability.