Enter-PSSession
Inicia uma sessão interativa com um computador remoto.
Syntax
Enter-PSSession
[-ComputerName] <String>
[-EnableNetworkAccess]
[[-Credential] <PSCredential>]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[-HostName] <String>
[-Port <Int32>]
[-UserName <String>]
[-KeyFilePath <String>]
[-SSHTransport]
[<CommonParameters>]
Enter-PSSession
[[-Session] <PSSession>]
[<CommonParameters>]
Enter-PSSession
[[-ConnectionUri] <Uri>]
[-EnableNetworkAccess]
[[-Credential] <PSCredential>]
[-ConfigurationName <String>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[-InstanceId <Guid>]
[<CommonParameters>]
Enter-PSSession
[[-Id] <Int32>]
[<CommonParameters>]
Enter-PSSession
[-Name <String>]
[<CommonParameters>]
Enter-PSSession
[-VMId] <Guid>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-VMName] <String>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-ContainerId] <String>
[-ConfigurationName <String>]
[-RunAsAdministrator]
[<CommonParameters>]
Description
O Enter-PSSession
cmdlet inicia uma sessão interativa com um único computador remoto.
Durante a sessão, os comandos que você digita são executados no computador remoto, como se estivesse digitando diretamente no computador remoto. Você pode ter somente uma sessão interativa por vez.
Normalmente, você usa o parâmetro ComputerName para especificar o nome do computador remoto.
No entanto, você também pode usar uma sessão criada usando o New-PSSession
cmdlet para a sessão interativa. No entanto, você não pode usar os Disconnect-PSSession
Connect-PSSession
cmdlets ou Receive-PSSession
os cmdlets para se desconectar ou se conectar novamente a uma sessão interativa.
A partir do PowerShell 6.0, você pode usar o Secure Shell (SSH) para estabelecer uma conexão com um computador remoto, se o SSH estiver disponível no computador local e o computador remoto estiver configurado com um ponto de extremidade SSH do PowerShell. O benefício de uma sessão remota do PowerShell baseada em SSH é que ela funciona em várias plataformas (Windows, Linux, macOS). Para comunicação remota baseada em SSH, use o parâmetro HostName definido para especificar o computador remoto e as informações de conexão relevantes. Para obter mais informações sobre como configurar a comunicação remota do SSH do PowerShell, consulte o PowerShell Remoting Over SSH.
Para encerrar a sessão interativa e desconectar-se do computador remoto, use o Exit-PSSession
cmdlet ou digite exit
.
Exemplos
Exemplo 1: iniciar uma sessão interativa
PS> Enter-PSSession
[localhost]: PS>
Esse comando inicia uma sessão interativa no computador local. O prompt de comando é alterado para indicar que você está executando comandos em uma sessão diferente.
Os comandos que você inseriu são executados na nova sessão e os resultados são retornados à sessão padrão como texto.
Exemplo 2: Trabalhar com uma sessão interativa
O primeiro comando usa o Enter-PSSession
cmdlet para iniciar uma sessão interativa com o Server01, um computador remoto. Quando a sessão é iniciada, o prompt de comando é alterado para incluir o nome do computador.
O segundo comando obtém o processo do PowerShell e redireciona a saída para o arquivo Process.txt. O comando é enviado ao computador remoto e o arquivo é salvo no computador remoto.
O terceiro comando usa a palavra-chave Sair para encerrar a sessão interativa e fechar a conexão.
O quarto comando confirma que o arquivo Process.txt está no computador remoto. Um Get-ChildItem
comando ("dir") no computador local não pode localizar o arquivo.
PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\process.txt' because it does not exist.
At line:1 char:4
+ dir <<<< c:\ps-test\process.txt
Este comando mostra como trabalhar em uma sessão interativa com um computador remoto.
Exemplo 3: Usar o parâmetro Session
PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>
Esses comandos usam o parâmetro Session para Enter-PSSession
executar a sessão interativa em uma sessão existente do PowerShell (PSSession).
Exemplo 4: iniciar uma sessão interativa e especificar os parâmetros porta e credencial
PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>
Esse comando inicia uma sessão interativa com o computador Server01. Ele usa o parâmetro Porta para especificar a porta e o parâmetro credencial para especificar a conta de um usuário que tem permissão para se conectar ao computador remoto.
Exemplo 5: Interromper uma sessão interativa
PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>
Este exemplo mostra como iniciar e interromper uma sessão interativa. O primeiro comando usa o Enter-PSSession
cmdlet para iniciar uma sessão interativa com o computador Server01.
O segundo comando usa o Exit-PSSession
cmdlet para encerrar a sessão. Você também pode usar a palavra-chave Sair para encerrar a sessão interativa. Exit-PSSession
e Exit têm o mesmo efeito.
Exemplo 6: iniciar uma sessão interativa usando SSH
PS> Enter-PSSession -HostName UserA@LinuxServer01
Este exemplo mostra como iniciar uma sessão interativa usando o Secure Shell (SSH). Se o SSH estiver configurado no computador remoto para solicitar senhas, você receberá um prompt de senha. Caso contrário, você precisará usar a autenticação de usuário baseada em chave SSH.
Exemplo 7: iniciar uma sessão interativa usando SSH e especificar a chave de autenticação de porta e de usuário
PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\<path>\userAKey_rsa
Este exemplo mostra como iniciar uma sessão interativa usando SSH. Ele usa o parâmetro Porta para especificar a porta a ser usada e o parâmetro KeyFilePath para especificar uma chave RSA usada para autenticar o usuário no computador remoto.
Parâmetros
-AllowRedirection
Permite o redirecionamento da conexão para um URI (Uniform Resource Identifier) alternativo. Por padrão, o redirecionamento não é permitido.
Quando você usa o parâmetro ConnectionURI, o destino remoto pode retornar uma instrução para redirecionar para um URI diferente. Por padrão, o PowerShell não redireciona conexões, mas você pode usar esse parâmetro para permitir que ele redirecione a conexão.
É possível também limitar o número de vezes que a conexão é redirecionada alterando o valor da opção de sessão MaximumConnectionRedirectionCount. Use o parâmetro MaximumRedirection do New-PSSessionOption
cmdlet ou defina a propriedade MaximumConnectionRedirectionCount da $PSSessionOption
variável de preferência. O valor padrão é 5.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationName
Especifica o segmento de nome de aplicativo do URI de conexão. Use esse parâmetro para especificar o nome do aplicativo quando não estiver usando o parâmetro ConnectionURI no comando.
O valor padrão é o valor da variável de $PSSessionApplicationName
preferência no computador local. Se esta variável de preferência não estiver definida, o valor padrão é WSMAN. Esse valor é adequado para a maioria dos usos. Para obter mais informações, consulte about_Preference_Variables.
O serviço WinRM usa o nome do aplicativo para selecionar um ouvinte para atender à solicitação de conexão. O valor desse parâmetro deve corresponder ao valor da propriedade URLPrefix de um ouvinte no computador remoto.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Authentication
Especifica o mecanismo usado para autenticar as credenciais do usuário. Os valores aceitáveis para esse parâmetro são:
- Padrão
- Basic
- Credssp
- Digest
- Kerberos
- Negotiate
- NegotiateWithImplicitCredential
O valor padrão é Default.
A autenticação credSSP está disponível apenas no Windows Vista, no Windows Server 2008 e nas versões posteriores do sistema operacional Windows.
Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationMechanism Enum.
Cuidado: a autenticação credSSP (Provedor de Suporte à Segurança de Credencial), na qual as credenciais do usuário são passadas para um computador remoto a ser autenticado, 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.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
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 com permissão para executar essa ação. Insira a impressão digital do certificado.
Os certificados são utilizados na autenticação baseada em certificado do cliente. Eles podem ser mapeados somente para contas de usuário local; eles não funcionam com contas de domínio.
Para obter um certificado, use o Get-Item
comando ou Get-ChildItem
o certificado do PowerShell: unidade.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Especifica um nome de computador. Esse cmdlet inicia uma sessão interativa com o computador remoto especificado. Digite apenas um nome de computador. O padrão é o computador local.
Digite o nome NetBIOS, o endereço IP ou o nome de domínio totalmente qualificado do computador. Você também pode canalizar um nome de computador para Enter-PSSession
.
Para usar um endereço IP no valor do parâmetro ComputerName , o comando deve incluir o parâmetro Credential . Além disso, o computador deve ser configurado para o transporte HTTPS ou o endereço IP do computador remoto deve ser incluído na lista WinRM TrustedHosts no computador local. Para obter instruções sobre como adicionar um nome de computador à lista TrustedHosts, consulte "Como adicionar um computador à lista de host confiável" no about_Remote_Troubleshooting.
Observação: no Windows Vista e versões posteriores do sistema operacional Windows, para incluir o computador local no valor do parâmetro ComputerName , você deve iniciar o PowerShell com a opção Executar como administrador.
Type: | String |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConfigurationName
Especifica a configuração de sessão usada para a sessão interativa.
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 de configuração, o seguinte URI de esquema será prefixado: http://schemas.microsoft.com/powershell
.
Quando usado com SSH, isso especifica o subsistema a ser usado no destino, conforme definido em sshd_config. O valor padrão para SSH é o powershell
subsistema.
A configuração da sessão para uma sessão está localizada no computador remoto. Se a configuração de sessão especificada não existir no computador remoto, o comando falhará.
O valor padrão é o valor da variável de $PSSessionConfigurationName
preferência no computador local. Se esta variável de preferência não for definida, o padrão é Microsoft. Para obter mais informações, consulte about_Preference_Variables.
Type: | String |
Position: | Named |
Default value: | None |
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. O URI deve ser totalmente qualificado. O formato dessa cadeia de caracteres é o seguinte:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
O valor padrão é o seguinte:
http://localhost:5985/WSMAN
Se não especificar um ConnectionURI, poderá usar os parâmetros UseSSL, ComputerName, Port e ApplicationName para especificar os valores do 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 usando portas padrões: 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.
Type: | Uri |
Aliases: | URI, CU |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ContainerId
Especifica a ID de um contêiner.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Especifica uma conta de usuário que tem permissão para executar esta ação. 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 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 SecureString , consulte Quão seguro é SecureString?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnableNetworkAccess
Indica que esse cmdlet adiciona um token de segurança interativo a sessões de loopback. O token interativo permite executar comandos na sessão de loopback que obtêm dados de outros computadores. Por exemplo, você pode executar um comando na sessão que copia arquivos XML de um computador remoto no computador local.
Uma sessão de loopback é uma PSSession que se origina e termina no mesmo computador. Para criar uma sessão de loopback, omita o parâmetro ComputerName ou defina seu valor como . (ponto), localhost ou o nome do computador local.
Por padrão, as sessões de loopback são criadas usando um token de rede, que pode não fornecer permissão suficiente para autenticar em computadores remotos.
O parâmetro EnableNetworkAccess só é eficaz em sessões de loopback. Se você usar EnableNetworkAccess ao criar uma sessão em um computador remoto, o comando terá êxito, mas o parâmetro será ignorado.
Também é possível permitir o acesso remoto em uma sessão de loopback usando o valor CredSSP do parâmetro Authentication, que delega as credenciais de sessão a outros computadores.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostName
Especifica um nome de computador para uma conexão baseada em SSH (Secure Shell). Isso é semelhante ao parâmetro ComputerName , exceto que a conexão com o computador remoto é feita usando SSH em vez do Windows WinRM. Esse parâmetro dá suporte à especificação do nome de usuário e/ou porta como parte do valor do parâmetro de nome de host usando o formulário user@hostname:port
. O nome de usuário e/ou a porta especificados como parte do nome do host têm precedência sobre os parâmetros e-Port
, -UserName
se especificados. Isso permite passar vários nomes de computador para esse parâmetro em que alguns têm nomes de usuário e/ou portas específicos, enquanto outros usam o nome de usuário e/ou a porta dos -UserName
parâmetros e -Port
.
Esse parâmetro foi introduzido no PowerShell 6.0.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
Especifica a ID de uma sessão existente. Enter-PSSession
usa a sessão especificada para a sessão interativa.
Para localizar a ID de uma sessão, use o Get-PSSession
cmdlet.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Especifica a ID de instância de uma sessão existente. Enter-PSSession
usa a sessão especificada para a sessão interativa.
A ID de instância é um GUID. Para localizar a ID da instância de uma sessão, use o Get-PSSession
cmdlet. Você também pode usar os parâmetros de Sessão, Nome ou ID para especificar uma sessão existente. Ou você pode usar o parâmetro ComputerName para iniciar uma sessão temporária.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePath
Especifica um caminho de arquivo de chave usado pelo Secure Shell (SSH) para autenticar um usuário em um computador remoto.
O SSH permite que a autenticação do usuário seja executada por meio de chaves públicas/privadas como alternativa à autenticação básica de senha. Se o computador remoto estiver configurado para autenticação de chave, esse parâmetro poderá ser usado para fornecer a chave que identifica o usuário.
Esse parâmetro foi introduzido no PowerShell 6.0.
Type: | String |
Aliases: | IdentityFilePath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifica o nome amigável de uma sessão existente. Enter-PSSession
usa a sessão especificada para a sessão interativa.
Se o nome que você especificou corresponder a mais de uma sessão, o comando falha. Você também pode usar os parâmetros Session, InstanceID ou ID para especificar uma sessão existente. Ou você pode usar o parâmetro ComputerName para iniciar uma sessão temporária.
Para estabelecer um nome amigável para uma sessão, use o parâmetro Name do New-PSSession
cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Especifica a porta de rede no computador remoto que é usada para este comando.
No PowerShell 6.0, esse parâmetro foi inlcuded no conjunto de parâmetros HostName que dá suporte a conexões SSH (Secure Shell).
WinRM (conjunto de parâmetros ComputerName)
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. Use os seguintes comandos para configurar o ouvinte:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Não use o parâmetro Port a menos que seja necessário. A configuração da porta no comando se aplica a todos os computadores ou sessões em que o comando for executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores.
SSH (conjunto de parâmetros HostName)
Para se conectar a um computador remoto, o computador remoto deve ser configurado com o SSHD (serviço SSH) e deve estar escutando na porta que a conexão usa. A porta padrão para SSH é 22.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsAdministrator
Indica que o PSSession é executado como administrador.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Session
Especifica uma sessão do PowerShell (PSSession) a ser usada para a sessão interativa. Esse parâmetro usa um objeto de sessão. Você também pode usar os parâmetros Nome, InstanceID ou ID para especificar uma PSSession.
Insira uma variável que contém um objeto de sessão ou um comando que cria ou obtém um objeto de sessão, como um New-PSSession
ou Get-PSSession
comando. Você também pode canalizar um objeto de sessão para Enter-PSSession
. Você pode enviar apenas uma PSSession usando esse parâmetro. Se você inserir uma variável que contém mais de um PSSession, o comando falhará.
Quando você usa Exit-PSSession
ou a palavra-chave EXIT , a sessão interativa termina, mas a PSSession que você criou permanece aberta e disponível para uso.
Type: | PSSession |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
Define 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 da opção de sessão têm precedência sobre 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 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 |
-SSHTransport
Indica que a conexão remota é estabelecida usando o Secure Shell (SSH).
Por padrão, o PowerShell usa o Windows WinRM para se conectar a um computador remoto. Essa opção força o PowerShell a usar o parâmetro HostName definido para estabelecer uma conexão remota baseada em SSH.
Esse parâmetro foi introduzido no PowerShell 6.0.
Type: | SwitchParameter |
Accepted values: | true |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subsystem
Especifica o subsistema SSH usado para a nova PSSession.
Isso especifica o subsistema a ser usado no destino conforme definido em sshd_config. O subsistema inicia uma versão específica do PowerShell com parâmetros predefinidos. Se o subsistema especificado não existir no computador remoto, o comando falhará.
Se esse parâmetro não for usado, o padrão será o subsistema 'powershell'.
Type: | String |
Position: | Named |
Default value: | powershell |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UserName
Especifica o nome de usuário da conta usada para criar uma sessão no computador remoto. O método de autenticação do usuário dependerá de como o Secure Shell (SSH) está configurado no computador remoto.
Se o SSH estiver configurado para autenticação de senha básica, você será solicitado a solicitar a senha do usuário.
Se o SSH estiver configurado para autenticação de usuário baseada em chave, um caminho de arquivo de chave poderá ser fornecido por meio do parâmetro KeyFilePath e nenhum prompt de senha ocorrerá. Observe que, se o arquivo de chave do usuário cliente estiver localizado em um local conhecido do SSH, o parâmetro KeyFilePath não será necessário para autenticação baseada em chave e a autenticação do usuário ocorrerá automaticamente com base no nome de usuário. Consulte a documentação do SSH sobre a autenticação de usuário baseada em chave para obter mais informações.
Esse não é um parâmetro necessário. Se nenhum parâmetro UserName for especificado, o log atual no nome de usuário será usado para a conexão.
Esse parâmetro foi introduzido no PowerShell 6.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Indica que esse cmdlet usa o protocolo SSL (Secure Sockets Layer) para estabelecer uma conexão com o computador remoto. Por padrão, SSL não é usado.
WS-Management criptografa todo o conteúdo do PowerShell transmitido pela rede. O parâmetro UseSSL é uma proteção adicional que envia os dados em uma conexão HTTPS em vez de uma conexão HTTP.
Se você usar esse parâmetro, mas o SSL não estiver disponível na porta usada para o comando, o comando falhará.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMId
Especifica a ID de uma máquina virtual.
Type: | Guid |
Aliases: | VMGuid |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Especifica o nome de uma máquina virtual.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Entradas
System.String, System.Management.Automation.Runspaces.PSSession
Você pode canalizar um nome de computador, como uma cadeia de caracteres ou um objeto de sessão para este cmdlet.
Saídas
None
O cmdlet não retorna nenhuma saída.
Observações
Para se conectar a um computador remoto, você deve ser um membro do grupo Administradores no computador remoto. Para iniciar uma sessão interativa no computador local, você deve iniciar o PowerShell com a opção Executar como administrador .
Quando você usa Enter-PSSession
, seu perfil de usuário no computador remoto é usado para a sessão interativa. Os comandos no perfil de usuário remoto, incluindo comandos para adicionar módulos do PowerShell e alterar o prompt de comando, são executados antes que o prompt remoto seja exibido.
Enter-PSSession
usa a configuração de cultura da interface do usuário no computador local para a sessão interativa. Para localizar a cultura de interface do usuário local, use a $UICulture
variável automática.
Enter-PSSession
requer os Get-Command
cmdlets e Exit-PSSession
, Out-Default
Se esses cmdlets não estiverem incluídos na configuração da sessão no computador remoto, os Enter-PSSession
comandos falharão.
Ao contrário Invoke-Command
de , que analisa e interpreta os comandos antes de enviar para o computador remoto, Enter-PSSession
envia os comandos diretamente para o computador remoto sem interpretação.
Se a sessão que você deseja inserir estiver ocupada processando um comando, pode haver um atraso antes que o PowerShell responda ao Enter-PSSession
comando. Você estará conectado assim que a sessão estiver disponível. Para cancelar o Enter-PSSession
comando, pressione CTRL+C.
O conjunto de parâmetros HostName foi incluído a partir do PowerShell 6.0. Ele foi adicionado para fornecer comunicação remota do PowerShell com base no Secure Shell (SSH). O SSH e o PowerShell têm suporte em várias plataformas (Windows, Linux, macOS) e a comunicação remota do PowerShell funcionará nessas plataformas em que o PowerShell e o SSH estão instalados e configurados. Isso é separado da comunicação remota anterior do Windows baseada apenas no WinRM e grande parte dos recursos e limitações específicos do WinRM não se aplicam. Por exemplo, atualmente não há suporte para cotas baseadas em WinRM, opções de sessão, configuração de ponto de extremidade personalizado e recursos de desconexão/reconexão. Para obter mais informações sobre como configurar a comunicação remota do SSH do PowerShell, consulte o PowerShell Remoting Over SSH.
Antes do PowerShell 7.1, a comunicação remota por SSH não dava suporte a sessões remotas de segundo salto. Essa funcionalidade estava limitada a sessões que usavam o WinRM. O PowerShell 7.1 permite que Enter-PSSession
e Enter-PSHostProcess
funcionem em qualquer sessão remota interativa.