Ich habe Probleme, eine Liste von Remote-Maschinen zu überprüfen, wenn CredSSP aktiviert ist. Wenn mein Skript eine Verbindung zur Maschine herstellt und den Befehl ausführt. Es endet falsch. Wenn ich mich über RDP mit demselben Rechner verbinde und denselben Befehl ausführe, wird der Wert true zurückgegeben. Hier ist mein Skript:Überprüfen Sie, ob CredSSP mit Powershell remote aktiviert ist
foreach ($server in $servers.Split(",").Trim()) {
$pw = ConvertTo-SecureString 'password' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentList "Domain\user", $pw
$session = New-PSSession -ComputerName $server -Credential $cred
$output = (Get-Item WSMan:\localhost\Service\Auth\CredSSP).value
Write-Host $server : $output
Remove-PSSession -Session $session
}
Hat jemand einen Einblick in das?
Vielen Dank, das war hilfreich. Ich bin immer noch ziemlich neu in PS. Also, korrigiere mich, wenn ich falsch liege, aber das Umwickeln von Get-Item mit diesen Sitzungsrufen hat im Wesentlichen nichts bewirkt? Es wurde nur lokal ausgeführt? Gibt es eine Möglichkeit, dasselbe mit einer Sitzung zu erreichen? Ich könnte dieses Skript erweitern und es wird viel größer. – Anthony
@Anthony Ja, das ist es genau. Es wurde lokal ausgeführt. Sie können Sitzungen mit Invoke-Command verwenden, dies ist jedoch in der Regel für komplexere Situationen erforderlich, in denen Sie mehrere verschiedene Skriptblöcke ausführen müssen oder den Sitzungsstatus anderweitig fernhalten müssen. Ich glaube nicht, dass ich seit langer Zeit etwas geschrieben habe, was es erfordert. Es funktioniert jedoch. –