2012-04-03 13 views
1

Ich versuche, einige Authentifizierung zu automatisieren, wo ich über RDP verbinden und mit einem bestimmten Server authentifizieren, mit Anmeldeinformationen aus einer EIGENSCHAFTEN-Datei.Java - Verbinden mit RDP-Server in Windows

Unter Windows ist der integrierte RDP-Client mstsc.exe, aber es sieht nicht so aus, als könnten Sie Anmeldedaten über die Befehlszeile eingeben, wie bei Linux und Mac.

Gibt es eine Problemumgehung unter Windows mit mstsc.exe, wo ich automatisch authentifizieren kann, ohne dass der Benutzer eingreift?

Danke.

Antwort

1

Können Sie eine benutzerdefinierte Verbindungsdatei verwenden? geben sie dann in MSTSC z.B:

mstsc customfile.RDP 

Hier ist, was Datei sieht eine RDP ist wie, ich Anmeldeinformationen gespeichert, beachten Sie die vollständige Adresse Feld und das Feld Benutzername.

screen mode id:i:2 
use multimon:i:0 
desktopwidth:i:1680 
desktopheight:i:1050 
session bpp:i:32 
winposstr:s:0,3,0,0,800,600 
compression:i:1 
keyboardhook:i:2 
audiocapturemode:i:0 
videoplaybackmode:i:1 
connection type:i:2 
displayconnectionbar:i:1 
disable wallpaper:i:1 
allow font smoothing:i:0 
allow desktop composition:i:0 
disable full window drag:i:1 
disable menu anims:i:1 
disable themes:i:0 
disable cursor setting:i:0 
bitmapcachepersistenable:i:1 
full address:s:###.###.###.###:#### 
audiomode:i:0 
redirectprinters:i:1 
redirectcomports:i:0 
redirectsmartcards:i:1 
redirectclipboard:i:1 
redirectposdevices:i:0 
redirectdirectx:i:1 
autoreconnection enabled:i:1 
authentication level:i:2 
prompt for credentials:i:0 
negotiate security layer:i:1 
remoteapplicationmode:i:0 
alternate shell:s: 
shell working directory:s: 
gatewayhostname:s: 
gatewayusagemethod:i:4 
gatewaycredentialssource:i:4 
gatewayprofileusagemethod:i:0 
promptcredentialonce:i:1 
use redirection server name:i:0 
username:s:<USERNAME> 

übergeben Sie das an den mstsc.exe Aufruf. Ich werde versuchen zu sehen, wo das Passwort gespeichert ist.

Ich würde das auch nicht super sicher nennen. Ich denke, dass das Passwort verschlüsselt gespeichert wird, es wird ein paar Minuten dauern, bis ich herausgefunden habe, wie.

Was genau möchten Sie erreichen? MSTSC gibt auf der Grundlage der Authentifizierung keine Werte zurück. Also, ich bin mir nicht sicher, was Sie einfangen wollen.

+0

Danke für die Antwort. Ich schreibe Software, um die SPNEGO-Authentifizierung über RDP zu automatisieren. Ich schaute auf die .RDP-Datei, aber ich schreibe Software, die von einem Tester verwendet wird, um Vorgänge unter verschiedenen Benutzer/Pass-Kombinationen zu testen. Diese Anmeldeinformationen werden höchstwahrscheinlich in einer .PROPERTIES-Datei gespeichert. Ich müsste eine .RDP-Datei für jeden Benutzer erstellen, nachdem ich ihre Anmeldeinformationen aus der .PROPERTIES-Datei extrahiert habe. – eoinzy

+0

@eoinzy Das stimmt, dass Sie jedes Mal eine Datei erstellen müssen, aber es könnte temporär sein. Anders als die UN, PW & die IP-Adresse könnten die Dateiinhalte gleich bleiben. Sie können die Datei bei jeder Bearbeitung löschen oder überschreiben. Ich nehme an, der Benutzer würde jedes Mal die Kontrolle über dieses Java-Programm haben? Ich versuche den Nutzen der Programmierung zu verstehen. Danke – kevingreen

+0

Der Benutzer wird ein Software-Tester sein. Im Moment, wenn sie Automatisierungsskripts ausführen, müssen sie anhalten und sich bei RDP anmelden. Ich versuche, dies zu automatisieren, indem ich ihnen sage, dass sie eine Liste von Zugangsdaten bereitstellen sollen, und ich werde den Rest erledigen. Sie müssten nur etwas wie 'myclass.loginNextUser()' aufrufen. – eoinzy

1

Sie können die RDP-Anmeldeinformationen speichern das cmdkey Tool

cmdkey.exe /generic:servername /user:username /pass:pass 

Sobald Sie dies ausgeführt haben, wird Ihr Mstsc Aufruf der automatischen Anmeldung kann:

mstsc.exe /v:servername