Ich habe heute wieder meine Recherche aufgenommen um ein VPN automatisch zu verbinden, nachdem der Computer im Ruhezustand oder im Energiesparmodus war. (Inspiriert durch einen Blogeintrag von Bernd Hengelein.)
Wenn eine z.B. WLan-Verbindung abbricht (und damit auch das VPN getrennt wird) oder verbunden wird tritt dieses Ereignis ein.
System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged
Mit folgender Routine kann man dann die Connection wieder herstellen
3 Sub startVPN(ByVal ConnectionName as String) '
4 Process.Start("RasPhone.exe", "-d " & ConnectionName)
5 End Sub
Eine sehr einfache Umsetzung einer Consolen-Anwendung (z.B. im Autostart) könnte dann folgendermaßen aussehen:
(Zumindest im Debugmodus hat dies problemlos funktioniert)
1 Imports System.Net.NetworkInformation
2
3 Module Module1
4 Sub Main()
5
6 AddHandler NetworkChange.NetworkAvailabilityChanged, _
7 AddressOf NetworkChange_NetworkAvailabilityChanged
8
9 ...
Es kommt zwar selten vor , dass man nicht mehr per RemoteDesktop auf die Maschine zugreifen kann aber wenn, dann ist es immer hektisch.
###Computermanagement starten:
%SystemRoot%\system32\compmgmt.msc /s
Hier sind kurz die wichtigsten Befehle:
##Neuen Channel anlegen
SAC>cmd
##zum channel 1 wechseln:
SAC>ch -si 1
##zwische Channel umschalten
Esc und dannach TAB
##Taskliste anzeigen
c:\>tasklist
### Wenn die IP-Adresse vermurkst ist und diese neu gesetzt werden muss:
### Dann den Remoteaccessdienst von deaktiviert auf auto stellen:
### Achtung! Das Leerzeichen nach dem start= MUSS sein
C:\WINDOWS\system32>sc config remoteaccess start= auto
=> [SC] ChangeServiceConfig ERFOLG
### Remoteaccessdienst starten:
C:\Windows\system32>net start remoteaccess
###Mittels netsh.exe die Config auf DHCP stellen:
###(das wirkt sofort, was ipConfig auch anzeigt)
C:\WINDOWS\system32>netsh interface ip set address "Local...