Ich versuche, ein Skript auszuführen, das erhöhte Rechte erfordert, um bestimmte Registrierungswerte festzulegen und CredSSP auf lokalen und Remotecomputern zuzulassen. Während dieses Skripts muss ich als Konto ohne erhöhte Rechte auf eine Netzwerkfreigabe zugreifen.
Mein erster Gedanke war, es zu versuchen
Invoke-Command -ScriptBlock { [IO.Directory]::GetFiles($networkShare) } -Credential $cred
wobei $cred die Anmeldeinformationen eines nicht erhöhten Benutzers sind. Leider funktioniert das nicht, dadieser Fehler.
Die angegebene Problemumgehung kann verwendet werden, -ComputerName localhost
erfordert dazu jedoch, dass mein lokaler Computer für PS Remote eingerichtet ist, was ich nicht möchte.
Die beste Lösung, die ich gefunden habe, ist die Verwendung von
$foo = Start-Job -Credential $cred -ScriptBlock { [IO.Directory]::GetFiles($networkShare) }
$out = Receive-Job $foo
Das funktioniert, ist aber so hässlich ... kann mir jemand helfen, eine bessere Lösung zu finden?