Compartilhar via


Get-PSSession

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

Sintaxe

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 de Get-PSSession para obter as sessões que se conectam ao computador local ou a computadores remotos, mesmo que 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 retornadasGet-PSSession.

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 .

Observação

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

Esse comando obtém todos os PSSessions que foram criados na sessão atual. Ele não obtém PSSessions que foram criados em outras sessões ou em outros computadores, mesmo que eles se conectem a este computador.

Exemplo 2: Obter sessões conectadas ao computador local

Get-PSSession -ComputerName "localhost"

Esse comando obtém os PSSessions que estão conectados 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 elas tenham sido criadas em sessões 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

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

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

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

Exemplo 4: Salvar os resultados desse 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 os três PSSessions. Em seguida, ele salva cada um dos 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 que variáveis, ele atribui todos os objetos restantes à última variável da matriz. Se houver mais variáveis que objetos, as variáveis extra não são usadas.

Exemplo 5: excluir uma sessão usando uma 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 um PSSession usando sua ID de instância e, em seguida, excluir o PSSession.

O primeiro comando obtém todos os PSSessions que foram criados na sessão atual. Ele envia o 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 um PSSession específico e salvá-lo 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 encontram uma sessão que tem um formato de nome específico e usa uma configuração de sessão específica e, em seguida, se conecta à 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 de nome 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 do 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 acessar a BackupJob04 sessão e o Connect-PSSession cmdlet para se conectar à sessão. O comando salva a sessão na variável $s.

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

Esse comando obtém o PSSession com ID 2. Como o valor da propriedade ID é exclusivo apenas 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.

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

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ApplicationName

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

Insira o segmento de nome de aplicativo do URI de conexão. Por exemplo, no URI de conexão a seguir, 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 utilizado pela sessão.

Tipo:String
Cargo:Named
Valor padrão:All sessions
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Authentication

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

Esse 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 esse parâmetro são:

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

O valor padrão é Default.

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

Cuidado

A autenticação do Provedor de Suporte à Segurança de Credenciais (CredSSP), na qual as credenciais do usuário são passadas para um computador remoto para serem autenticadas, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Esse mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas a ele podem ser usadas para controlar a sessão de rede.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:AuthenticationMechanism
Valores aceitos:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Cargo:Named
Valor padrão:Default
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

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

Certificados digitais são empregados na autenticação de clientes baseada em certificados. Eles podem ser mapeados somente para contas de usuário local; eles não funcionam com contas de domínio.

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

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ComputerName

Especifica uma matriz de nomes de computadores. Obtém as sessões que conectam a computadores especificados. Caracteres curinga não são permitidos. 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 de 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 do computador, localhostou um ponto (.).

Observação

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

Tipo:String[]
Aliases:Cn
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-ConfigurationName

Especifica o nome de uma configuração. Esse cmdlet obtém apenas sessões que usam a configuração de sessão especificada.

Insira um nome de configuração ou o URI do recurso totalmente qualificado para uma configuração de sessão. Se você especificar apenas o nome da configuração, o seguinte URI de esquema será anexado: http://schemas.microsoft.com/powershell. O nome da 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 de sessão utilizada pela sessão.

Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Tipo:String
Cargo:Named
Valor padrão:All sessions
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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.

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

O formato dessa cadeia de caracteres é:

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

O valor padrão será "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 de 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 para HTTPS.

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

Este 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. Versões anteriores não armazenam sessões.

Tipo:Uri[]
Aliases:URI, CU
Cargo:0
Valor padrão:Http://localhost:5985/WSMAN
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-ContainerId

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

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Credential

Especifica uma credencial de usuário. Esse 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 executar um Get-PSSession comando. O padrão é o usuário atual.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo Get-Credential cmdlet. Se você digitar um nome de usuário, será solicitado que você insira a senha.

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

Observação

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

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

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:PSCredential
Cargo:Named
Valor padrão:Current user
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Id

Especifica uma matriz de IDs de sessão. Esse 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. Você não pode 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 na sessão atual. O ID de uma sessão é armazenado na propriedade ID da sessão.

Tipo:Int32[]
Cargo:0
Valor padrão:All sessions
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-InstanceId

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

A ID de 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.

Tipo:Guid[]
Cargo:Named
Valor padrão:All sessions
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifica uma matriz de nomes de sessão. Esse 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.

Tipo:String[]
Cargo:Named
Valor padrão:All sessions
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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, este deve estar escutando na porta usada pela conexão. 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 de WinRM no computador remoto para escutar na 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\>

Esse parâmetro é configurado para a conexão temporária 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 se aplica a todos os computadores ou sessões nos quais o comando é executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Int32
Cargo:Named
Valor padrão:5985, 5986
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SessionOption

Especifica opções avançadas para a sessão. Insira um objeto SessionOption , como um que você cria usando o New-PSSessionOption cmdlet, ou uma tabela de hash na qual 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 por opções definidas na configuração da sessão.

Os valores de opção de sessão têm precedência sobre os valores padrão para sessões definidas na $PSSessionOption variável de preferência e na configuração da sessão. No entanto, eles não têm precedência sobre 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 $PSSessionOption variável de preferência, consulte about_Preference_Variables. Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Tipo:PSSessionOption
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-State

Especifica um estado de sessão. Esse 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 padrão é All.

O valor de estado de sessão é relativo à sessão atual. 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.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SessionFilterState
Valores aceitos:All, Opened, Disconnected, Closed, Broken
Cargo:Named
Valor padrão:All
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 somente ao comando atual e não à sessão ou ao computador.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Int32
Cargo:Named
Valor padrão:32
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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, SSL não é usado. Se você usar esse parâmetro e o SSL não estiver disponível na porta usada para o comando, o comando falhará.

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

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 disponíveis para você, use o seguinte comando:

Get-VM | Select-Object -Property Name, ID

Tipo:Guid[]
Aliases:VMGuid
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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 disponíveis para você, use o Get-VM cmdlet.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

Entradas

None

Você não pode canalizar objetos para esse cmdlet.

Saídas

PSSession

Observações

O PowerShell inclui os seguintes aliases para Get-PSSession:

  • Todas as plataformas:

    • gsn
  • Esse 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 na extremidade receptora 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 para o 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 obtidasGet-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 um PSSession é relativo à sessão atual. Portanto, um valor de Disconnected 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 . Ela pode ser conectada a uma sessão diferente. Para determinar se você pode se conectar ou reconectar ao PSSession da sessão atual, use a propriedade Disponibilidade .

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.