Beim Versuch, ein PowerShell-Skript mithilfe von Remoting zu erstellen, stieß ich auf das Double-Hop-Problem . In diesem Artikel gibt Perriman eine kurze Beschreibung des Problems sowie die spezifischen Schritte zur Behebung des Problems (fast trivial, wenn Sie die Befehle kennen, aber für jemanden, der weniger vertraut ist wie ich, waren diese Informationen von unschätzbarem Wert!).
Ich Enable-WSManCredSSP Server
habe ohne Zwischenfall auf meinem Win7-Server ausgeführt, aber der Versuch, Enable-WSManCredSSP Client –DelegateComputer <FQDN of the server>
auf meinem Win7-Client ausgeführt zu werden, hat diesen Fehler generiert:
Enable-WSManCredSSP : The client cannot connect to the destination specified
in the request. Verify that the service on the destination is running and
is accepting requests.
Consult the logs and documentation for the WS-Management service running
on the destination, most commonly IIS or WinRM. If the destination
is the WinRM service, run the following com mand on the destination
to analyze and configure the WinRM service: "winrm quickconfig".
Durch Ausführen von winrm quickconfig wurde bestätigt, dass auf meinem Server WinRM ausgeführt wurde:
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
Und Get-WSManCredSSP bestätigte, dass mein Server bereit war, Anmeldeinformationen von einem Client zu akzeptieren:
The machine is not configured to allow delegating fresh credentials.
This computer is configured to receive credentials from a remote client computer.
Ich fand auch Boessens Artikel über WinRM, in dem er das allgemeine WinRM-Setup beschreibt und einen Leckerbissen fand, um einen nützlichen Datenpunkt für die Diagnose zu erhalten. Dieser auf dem Client ausgeführte Befehl verwendet das Tool winrs , um remote auf den Server zuzugreifen:
winrs -r:http://<FQDN of my server>:5985 -u:<myDomain>\msorens "dir c:\"
Dieser Befehl gab das erwartete Ergebnis, den Inhalt des Stammverzeichnisses auf dem Server, ohne Zwischenfälle zurück und bestätigte, dass mein FQDN korrekt und WinRM aktiviert ist.
Boessen gibt an, dass Port 5985 die Standardeinstellung für Win7 ist. Dieser auf dem Server ausgeführte Befehl bestätigt den Wert 5985:
get-item wsman:\localhost\listener\listener*\port
Die Frage: Warum kann ich den Befehl Enable-WSManCredSSP auf der Clientseite nicht ausführen?
2011.06.07 Update
Ich habe eine Lösung für die obige Frage gefunden: Durch das Aufrufen von Enable-PSRemoting , das zum Konfigurieren eines Computers zum Empfangen von Remotebefehlen angekündigt wurde , konnte Enable-WSManCredSSP auf dem Client erfolgreich ausgeführt werden! Neugierig, aber seine Manpage zeigt an, dass es eine Reihe verschiedener Aktionen ausführt, also gehe ich davon aus, dass einer von denen versehentlich das getan hat, was ich brauchte.
Aber dann erreichte ich eine andere Straßensperre, als ich versuchte, die CredSSP-Authentifizierung zu verwenden. Hier ist der Befehl:
Invoke-Command { Write-Host "hello, world" } -computername $serverName `
-credential $testCred -Authentication Credssp
Und hier ist die Antwort:
Die Verbindung zum Remote-Server ist mit der folgenden Fehlermeldung fehlgeschlagen: Der WinRM-Client kann die Anforderung nicht verarbeiten. Eine Computerrichtlinie erlaubt dies nicht die Delegierung der Benutzeranmeldeinformationen an den Zielcomputer. Verwenden Sie gpedit.msc Beachten Sie die folgenden Richtlinien: Computerkonfiguration -> Administrative Vorlagen -> System -> Delegierung von Anmeldeinformationen -> Erlaube das Delegieren neuer Anmeldeinformationen. Stellen Sie sicher, dass es aktiviert ist und konfiguriert mit einem für den Zielcomputer geeigneten SPN. Zum Beispiel, Für einen Zielcomputernamen "myserver.domain.com" kann der SPN einer von sein Folgendes: WSMAN /myserver.domain.com oder WSMAN / *. domain.com. Weitere Informationen finden Sie im Hilfethema about_Remote_Troubleshooter.
Ich habe die Einstellungen überprüft, wie in dieser bemerkenswert hilfreichen Fehlermeldung vorgeschlagen, und es sieht für mich so aus, als ob sie richtig konfiguriert sind.
Die neue Frage: Was schlägt dieser Remoteverbindungsversuch mit CredSSP fehl?
Beachten Sie bei der Beantwortung bitte Folgendes: Lassen Sie mich im Voraus jede Vorstellung zerstreuen, dass ich weiß, was ich hier tue, ungeachtet gegenteiliger Erscheinungen. :-) Windows-Administrator ist nicht mein Fachgebiet!