dodyou
Goto Top

Batchausführung stoppt nach erster Zeile ...

Hallo Beisammen,
als Newbee stehe ich vor folgendem Rätsel:
Ich will mittels Batchdatei einen VPN-Tunnel aufbauen und dann verschiedene Pfade zum Zielrechner patchen.(vorab auf einem Win/ 64 bit Rechner zu ein MS SBS)
Mein bat-File liest sich so
"@ECHO OFF  
"C:\Program Files (x86)\Fortinet\SslvpnClient\FortiSSLVPNclient.exe" connect -s NamedesSetting  
pause
net use J: \\192.168.24.1\UserShares\name /user:name passwort /persistent:yes
net use K: \\192.168.24.1
"  
Wenn ich den batchfile ausführe, stellt der fortinet-VPNclient die VPN-Verbindung her - aber nichts weiter tut sich. Im cmd-Fenster blinkt der Cursor ... und das ist mein Problem. Wrum läuft der Batchfiel nicht weiter?

Wenn ich den Batchfile ein zweites Mal (also bei bestehender VPN-Verbindung) aufrufen, dann läuft er durch bis zur "Pause" ... und dann normal durch.
Warum?

Besten Dank für freundliche Hilfe
Ps: Wie kann man Passwörter mit Umlauten in einem Batchfile übergeben?

Content-ID: 222223

Url: https://administrator.de/contentid/222223

Ausgedruckt am: 14.11.2024 um 09:11 Uhr

Sheogorath
Sheogorath 17.11.2013 um 17:26:42 Uhr
Goto Top
Hallöchen,

Versuche es mal mit

start "" "C:\Program Files (x86)\Fortinet\SslvpnClient\FortiSSLVPNclient.exe" connect -s NamedesSetting  

mit Umlauten, könnte schwierig werden, Ich würde hier zu einer anderen Scriptsprache greifen, aber bestimmt kennen die Batch-Jungs hier eine andere Lösung.

Gruß
Chris
colinardo
colinardo 18.11.2013, aktualisiert am 24.11.2013 um 17:22:26 Uhr
Goto Top
Hallo dodyou,
mach den Start des VPN-Clients so wie @christoph.kern es geschrieben hat, du musst dann aber eine Modifikation deines Scriptes vornehmen, da ansonsten deine Netzlaufwerke nicht gemappt werden, weil die Herstellung der VPN-Verbindung dann Asynchron(Parallel) erfolgt und dein Script weiterläuft. Du musst also z.B: per Ping prüfen ob der Server bereits erreichbar ist und erst dann die Laufwerke mappen. Dies kannst du so machen:
@ECHO OFF
start "" "C:\Program Files (x86)\Fortinet\SslvpnClient\FortiSSLVPNclient.exe" connect -s NamedesSetting  
:Loop
ping -n 1 192.168.24.1 | find "Antwort von"  
if %errorlevel% == 1 goto :Loop
chcp 1250
net use J: \\192.168.24.1\UserShares\name /user:name passwort /persistent:yes
chcp 850
Der Ping-Befehl ist an ein deutsches Ping angepasst, wenn du also mal mit einem Test-Ping Ausgaben wie Antwort von 192.168.24.1 Zeit <10ms erhältst ist es OK ansonsten muss der String des Find-Befehls angepasst werden.

Für dein Problem mit den Umlauten:
Dies lässt sich mit einer Anpassung der Codepage korrigieren (s.o im Script)
chcp 1250

Grüße Uwe
dodyou
dodyou 24.11.2013 um 16:53:19 Uhr
Goto Top
Hallo und herzlichen Dank euch beiden, das hilft schon sehr. Bitte seht mit nach dass ich wegen diverser Reisen erst jetzt antworte.
Genial das mit dem Loop und der Lösung für die Umlaute,

Dennoch olgende Hinweise/Rückfragen aus dem Testen:
Zitat von @colinardo:
>
> @ECHO OFF
> start "" /c "C:\Program Files (x86)\Fortinet\SslvpnClient\FortiSSLVPNclient.exe" connect -s NamedesSetting  
> 
Das /c wird als ungültiger Parameter erkannt, die Batchausführung stoppt. Ohne /c wird die Verbindung mit dem Server hergestellt und das Skript läuft weiter !
Zitat von @colinardo:
net use K: \\192.168.24.1
Der Versuch, mit net use K: \\192.168.24.1 zum Wurzelverzeichnis des Servers zu patchen, wird mit der Meldung belohnt:
Systemfehler 53 aufgetreten.
Der Netzwerkpfad wurde nicht gefunden
Versteh ich nicht.

Jetzt ein anderes - neues Problemchen. Ich würde vom Batchfile aus eine webbasierte Anwendung aufrufen wollen. Ich dachte, das ginge nach Herstellung des VPN-Tunnels so, dass ich einfach die Zeile, die ich in die Adresszeile des Browser zum Start eingebe, in den Batchfile reinschreibe, also so
Geht aber nicht. Was tun?
Herzlichen Dank!
colinardo
colinardo 24.11.2013 aktualisiert um 17:23:32 Uhr
Goto Top
Zitat von @dodyou:
Das /c wird als ungültiger Parameter erkannt, die Batchausführung stoppt. Ohne /c wird die Verbindung mit dem Server hergestellt und das Skript läuft weiter !
sorry, mein Fehler ... war bei den Optionen für "cmd /?"
Der Versuch, mit net use K: \\192.168.24.1 zum Wurzelverzeichnis des Servers zu patchen, wird mit der Meldung belohnt:
> Systemfehler 53 aufgetreten.
> Der Netzwerkpfad wurde nicht gefunden
es muss es sich um eine Freigabe handeln die du mappst ...nicht nur um den Servernamen ! Hatte das fälschlicherweise aus deinem Script übernommen.
Jetzt ein anderes - neues Problemchen. Ich würde vom Batchfile aus eine webbasierte Anwendung aufrufen wollen.
Geht aber nicht. Was tun?
start "" "http://192.168.24.1:1234/ab2-ABCDuc/pages/startup.jsp?user=XYZ"
Grüße Uwe
dodyou
dodyou 28.11.2013 um 21:17:59 Uhr
Goto Top
Super, dank funktioniert! Tolle Unterstützung!