mullfreak 10 Geschrieben 31. Januar 2007 Melden Teilen Geschrieben 31. Januar 2007 Hallo, wir wollen für unsere Vertriebsmitarbeiter die Zugänge zum Internet erleichtern. Jetzt ist es so, dass wir per GPO einen Proxyservereintrag setzen. Befinden sich nun unsere Vertriebsmitarbeiter z. B. in einem Hotel mit einem Hotspot, bei dem eine Anmeldung über eine Internetseite notwendig ist, funktioniert das nicht. Außerdem benötigen wir für unsere Produktmanager die Zugriffe auf verschiedenste Webkonfigurationsseiten unserer Produkte. Nun wollen wir für diese User unser Proxyverhalten automatisieren. Dazu habe ich mir folgendes Skript heruntergeladen: Set objShell = CreateObject("WScript.Shell") strProxy = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable" intProxyEnable = objShell.RegRead(strProxy) If intProxyEnable = 1 Then intProxyEnable = 0 strMeldung = "Proxy ist deaktiviert!" Else intProxyEnable = 1 strMeldung = "Proxy ist aktiviert!" End If objShell.RegWrite strProxy, intProxyEnable, "REG_DWORD" MsgBox strMeldung Dies funktioniert schon ganz gut. Die User müssten allerdings von selbst dieses Skript ausführen. Somit habe ich mir eine weiteres Skript heruntergeladen, das automatisch erkennt ob der Proxy zur Verfügung steht. Steht der Proxy nicht zur Verfügung, wird der Proxyeintrag ausgeschaltet. Hier das Skript: ' 20 Sek. warten, damit das Profil vollständig geladen ist WScript.Sleep 20000 Set objShell = CreateObject("WScript.Shell") ' Proxy-Einstellungen in der Registry des Users strProxy = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\" ' Proxy eingeschaltet? intProxyEnable = objShell.RegRead(strProxy & "ProxyEnable") ' Name des Proxy? strProxyName = objShell.RegRead(strProxy & "ProxyServer") strProxyName = Left(strProxyName, InStr(strProxyName, ":")-1) ' Proxy erreichbar? flgProxyOnline = IsOnline(strProxyName) If flgProxyOnline = False And intProxyEnable = 1 Then ' Proxy ist nicht erreichbar, aber eingetragen intProxyEnable = 0 strMeldung = "Proxy " & strProxyName & " wurde deaktiviert!" ElseIf flgProxyOnline = True And intProxyEnable = 0 Then ' Proxy ist erreichbar, aber nicht eingetragen intProxyEnable = 1 strMeldung = "Proxy " & strProxyName & " wurde aktiviert!" Else ' nichts zu tun WScript.Quit End If objShell.RegWrite strProxy & "ProxyEnable", intProxyEnable, "REG_DWORD" objShell.Popup strMeldung, 5 Function IsOnline(PCName) ' Läuft nur unter Windows XP, Windows Server 2003 und Nachfolgern IsOnline=False Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}"). _ ExecQuery("select ReplySize from Win32_PingStatus where address= '" _ & PCName & "'") For Each objStatus In objPing If Not IsNull (objStatus.ReplySize) Then IsOnline = True Else IsOnline=False End If Next End Function Hier muss ich noch unseren Proxyserver eintragen und an dem scheitere ich jetzt. Wo muss ich den Proxyserver eintragen? Mit IP-Adresse oder FQDN oder NetBIOS-Name? Anscheinend müssen die User auch nicht lokale Admins sein, da das erste Skript und somit der Eintrag in der Registry ja funktioniert. Wer kann mir hier weiterhelfen? Wie habt Ihr das Problem gelöst? Gruss Mull Zitieren Link zu diesem Kommentar
schaedld 10 Geschrieben 31. Januar 2007 Melden Teilen Geschrieben 31. Januar 2007 Steht der Proxy nicht zur Verfügung, wird der Proxyeintrag ausgeschaltet Dann ist der Eintrag ja nicht mehr vorhanden. Hier muss ich noch unseren Proxyserver eintragen und an dem scheitere ich jetzt. Wieso willst Du ihn dann wieder eintragen, wenn er vorhin entfernt worden ist? Eine weitere Möglichkeit wäre eine IPSEC-Einwahlverbindung für die Vertriebsmitarbeiter. Wenn ihr 10 habt, dann wären dies ja nicht sonderlich schwer zu realisieren, zumal der Zugang dann ja durch einen Tunnel verläuft. Zitieren Link zu diesem Kommentar
mullfreak 10 Geschrieben 31. Januar 2007 Autor Melden Teilen Geschrieben 31. Januar 2007 Hi, ich habe vorhin das Skript getestet und es funktioniert! Der Proxyservername wird aus der Registry ausgelesen. Sobald ich jetzt mein Testnotebook aus unserem Firmennetzwerk entferne, wird der Proxyserver deaktiviert und ein "normales" Surfen ist möglich. Ein Problem stellt dann die VPN-Einwahl dar. Folgender Ablauf ist bei uns gegeben: 1. Mitarbeiter kommt nach Hause und schließt sein Notebook an einen normalen DSL-Anschluss. 2. Das Skript erkennt, dass der Proxyserver nicht zur Verfügung steht und deaktiviert diesen. 3. Nun öffnet der Mitarbeiter den Cisco VPN Client und stellt einen Tunnel in unser Netzwerk her. 4. Nun sollte der Proxyserver wieder gesetzt werden. Ich denke, dies kann ich realisieren, in dem ich dem Cisco VPN Client sage, er solle bei einer erfolgreichen Verbindung das Skript nochmal ausführen. Dann würde es gehen. Oder wir verwenden die Option "VPN-Tunnel aufbauen vor dem Windows Logon". Dies wird früher oder später sowieso kommen, da dies eigentlich unsere Firmen-Policie darstellt. Gruss Mull Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.