Skip to content

Sessão Remota

Daniel Donda edited this page Mar 24, 2018 · 1 revision

ogo após habilitar você pode entrar nas sessões remotas usando o cmdlet Enter-PSSession usando o console do PowerShell. Esse comando inicia uma sessão remota interativa com o computador remoto.
São vários os cmdlets relacionados a sessões remotas e você pode conferir usando o comando:
get-command *pssession

Não se esqueça de habilitar o gerenciamento remoto Enable-PSRemoting.

Para iniciar uma nova sessão remota com um computador chamado server1:
New-PSSession -ComputerName server1
E assim que estiver conectado você pode fazer suas configurações remotas.
Enter-PSSession –Computername nomedoservidor -Credential:Credenciais

Exemplo:
Enter-PSSession -computername WS2012-HPV01 -Credential:Administrator

Sessões persistentes

Sessões persistentes são importantes na execução de scripts de longa duração é possível manter as sessões em execução mesmo com falhas na rede. Quando as conexões de rede são perdidas o PowerShell tenta fazer novas conexões a cada 4 minutos. Para iniciar uma sessão persistente você deve usar o cmdlet New-PSSession

$remoto = New-PSSession localhost
Invoke-Command $remoto { “Tem alguém ai” }
As consultas podem ser feitas com o cmdlet:
Get-PSSession

Caso você esteja utilizando scripts ou funções que sejam de longas durações você pode desconectar da sessão que o trabalho continua em execução remota:

Disconnect-PSSession $remoto
Ou
Disconnect-PSSession -id 4

Use o seguinte script para entender e testar sessões persistentes. Esse script cria uma sessão remota com um servidor chamado Servidor1 e fica contando números sem parar.

$s = New-PSSession -name Contar -ComputerName servidor1
Invoke-Command -Session $s -ScriptBlock {
1..1000000 | % {"Contando $_";sleep 1 }
}

Você pode então reconectar a sessão criada anteriormente com o cmdlet Connect-PSSession

Connect-PSSession $s

Depois é só terminar a sessão remota
Remove-PSSession -ComputerName localhost

Clone this wiki locally