Teste se Enter-PSSession for bem-sucedido

4

Existe uma maneira de testar se o Enter-PSSession é bem-sucedido ou se o Enable-Remoting já é verdadeiro? Eu não preciso ser capaz de entrar na própria máquina, apenas uma maneira de descobrir o código de retorno. Basicamente, apenas verificar se a remoting em uma máquina pode ser feita ou se a máquina ainda precisa de remoting para ser ativada.

    
por sunnyseas 07.11.2013 / 02:40

3 respostas

3

Enter-PSSession é exclusivamente para uso interativo.

Para testar se a comunicação remota está ativada, use New-PSSession :

$testSession = New-PSSession -Computer $targetComputer
if(-not($testSession))
{
    Write-Warning "$targetComputer inaccessible!"
}
else
{
    Write-Host "Great! $targetComputer is accessible!"
    Remove-PSSession $testSession
}

Se for bem-sucedido, New-PSSession retornará o novo objeto PSSession - se ele falhar, não retornará nada e $testSession será $null (tornando -not($testSession) -eq $true )

    
por 22.12.2013 / 12:01
2

Você também pode usar

 Test-WSMan computername

ou com autenticação:

 Test-WSMan myserver -Credential peter -Authentication Negotiate

e, em seguida, verifique o objeto de retorno.

Se isso funciona, o PSSession também deve funcionar.

    
por 22.12.2013 / 13:38
1
function CanRemote {
    $session = New-PSSession $ComputerName -ErrorAction SilentlyContinue

    if ($session -is [System.Management.Automation.Runspaces.PSSession])
        {Write-Host "Remote test succeeded: $ComputerName."}
    else
        {Write-Host "Remote test failed: $ComputerName."}
}
    
por 03.08.2016 / 23:57