Hi ihr,
ich hab heute mein neues VPN Tool ausgerollt.
Eine Userin konnte sich damit dann nicht einwählen.
Nach einem längeren Telefonat hab ich dann rausbekommen dass ihr Passwort mit einem (") anfängt.
Mein Tool baut die Verbindung über Rasdial auf.
Das (") hat natürlich meinen String zerschossen:
Hier ist ein Codeschnipsel:
Spoiler anzeigen
Func _StartVPNConnect()
[/autoit] [autoit][/autoit] [autoit];Variablendeklaration
Local $PingVar, $RoundTrip, $InitTime, $PID
$passwort = GUICtrlRead($lbl_passwort)
$ConnectionName =('"VPN Verbindung"')
$Testserver = "dc.domain.local"
$rasdial = ("rasdial " &$ConnectionName& " " & $User & " " & $passwort & " " &" /DOMAIN:domain")
GUICtrlSetData($lbl_info, @CRLF &@CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit domainwird hergestellt.");& @CRLF & "und mit Server erbunden")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];rasdial ausführen
$Connect= RunWait(@ComSpec & " /c " & '"' & $rasdial & '"',"",@SW_HIDE)
_WriteLogData("Rasdial ausgeführt.")
Ich war auch schon in unserer Entwicklerecke aber die können mir auch nicht wirklich weiter helfen.
Hat jemand ne Idee wie ich die DOS- Befehl- kritischen Sonderzeichen abfange oder escapen kann?
Boris