2017-09-19 3 views
0

Ich verwende den folgenden Code, um eine Verbindung zu einem Windows 2008 Server herzustellen.Winrm4j Autorisierungsschleife erkannt auf Conduit auf URL mit Realm "null"

WinRmTool.Builder builder = WinRmTool.Builder.builder("hostname", "domain\username", "password"); 
builder.setAuthenticationScheme(AuthSchemes.NTLM); 
builder.useHttps(false); 
WinRmTool tool = builder.build();  
tool.executePs("COMMAND"); 

Ich erhalte unter Ausnahme

Verursacht durch: java.io.IOException: Authorization Schleife auf Conduit erkannt "{} http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd WinRmPort.http-Leitung" auf URL "http://hostname:5985/wsman" mit Reich „null“

ich kann den WS „http://hostname:5985/wsman“ ohne Authentifizierung im Browser und die winrm Diensteinstellungen auf der Windows-se zugreifen rver sind wie folgt.

AllowUnencrypted = false 
    Auth 
     Basic = false 
     Kerberos = true 
     Negotiate = true 
     Certificate = false 
     CredSSP = false 
     CbtHardeningLevel = Relaxed 
    DefaultPorts 
     HTTP = 5985 
     HTTPS = 5986 

Einstellungen sind auf meiner Client-Seite auch gleich. Der HTTPS-Zugriff auf die Winrm-WS funktioniert nicht, daher verwende ich useHttps (false).

Client und Server sind auf verschiedenen Domänen. Ich bin in der Lage, erfolgreich auf den Server mit dem angegebenen Hostnamen, Domäne \ Benutzername & Passwort rdp.

Ich habe versucht, Authentifizierungsschemas zu kerberos/basic/digest zu ändern. Keiner von ihnen scheint zu funktionieren. Ich habe 'allowUnencrypted = true' auf beiden Seiten versucht, funktioniert aber immer noch nicht.

Fehle ich irgendwelche conf/prop Dateien?

Antwort

0

Nach unten Einstellungen auf dem Remote-Server zu konfigurieren, arbeitete gleichen Code

winrm set winrm/config/service/Auth '@{Basic="true"}' 
winrm set winrm/config/service '@{AllowUnencrypted="true"}'