Archiv der Kategorie 'Scripts'



WPAD – Web Proxy Autodiscovery Protocol

Scripts, Windows No Comments »

WPAD Funktionsweise
Hinter der automatischen Konfiguration verbirgt sich das Prinzip “WPAD”, was soviel wie “Web Proxy Auto Detection” bedeutet. Über verschiedene Wege kann damit ein Browser die Information erhalten, wie er ein Script erhalten kann, welches die Antwort auf die Frage “Welchen Proxy soll ich nutzen ?” geben kann. Ein Skript könnte wie folgt aussehen:

function FindProxyForURL(url, host)
{
url=url.toLowerCase();
host=host.toLowerCase();

if (shExpMatch(host, “*.domain.tld”) ||
shExpMatch(host, “localhost”) ||
shExpMatch(host, “*domain2*”) ||
isInNet(host, “10.0.0.0″,”255.0.0.0″) ||
isInNet(host, “192.168.0.0″,”255.255.0.0″))
return “DIRECT”;

else
return “PROXY proxy1:8080; PROXY proxy2:8080; DIRECT”;
}

Der Browser benötigt einfach diese Script, und ruft die Funktion “FindProxyForURL” mit den Parametern der URL und dem Hostnamen auf. Das Script gibt dem Browser dann als Antwort den Proxy oder “DIRECT” zurück. Dieses Beispiel nutzt nur einen Teil der verfügbaren Funktionen zur Auswertung von URL und HOST. Der Browser muss natürlich das Script selbst erst einmal erhalten. Zwar können die meisten Browser hier auf eine lokale Datei zugreifen, aber viel interessanter ist eine zentrale Bereitstellung z.B.: auf einem Webserver, den der Browser natürlich ohne Proxy erreichen können muss.

WPAD Konfiguration:
1. Schritt:
Umstellung des Browsers auf “Automatische Suche der Einstellungen”.

2. Schritt
Erweiterung des DNS um einen CNAME Eintrag: wpad
Browser die nicht die Suche per DHCP unterstützen verwenden den DNS. Sie suchen nach einem Ziel mit dem Namen wpad* auf dem die Datei wpad.dat dann auch zu finden ist.
DNS -> ForwardLookup Zone -> Neuer CNAME: wpad dieser verweist auf “euerWebServer”

Wenn man sich mal den Netzwerkverkehr anschaut, dann macht der Browser eine Anfrage (GET /wpad.dat HTTP/1.1) an den Host: wpad, bekommt eine Antwort (HTTP/1.1 200 OK (Content-Type: application/x-ns-proxy-autoconfig) und liest dann den Inhalt der Datei.

3. Schritt
Man erstellt eine wpad.dat Datei und hinterlegt sie auf einem Webserver, damit sie hinterher über http://wpad/wpad.dat gefunden werden kann.
Als Beispiel in die Standardweb Seite eures IIS, dieser ist normalerweise unter C:\inetpub\wwwroot zu finden.

5. Schritt
entweder für den gesammten IIS: IIS Verwaltung -> Eigenschaften des Servers -> MIME-Typen -> Hinzufügen:
oder nur für die WebSeite: IIS Verwaltung -> Eigenschaften deder Seite -> HTTP-Header -> MIME-Typen -> Hinzufügen:

Erweiterung: application/x-ns-proxy-autoconfig
MIME-Typ: .dat

Links:
http://www.msxfaq.de/verschiedenes/wpad.htm
http://www.gruppenrichtlinien.de/index.html?/HowTo/Automatische_Proxykonfiguration_WPAD.htm



XAMPP, Eclipse PDT und xDebug unter Windows

Fachhochschule, Scripts, Windows No Comments »

Von xdebug.org die aktuelle Version herunterladen und in das Verzeichnis php\ext\ der xampp-Installation speichern. Es muss auf die exakte PHP Version geachtet werden auf xdebug.org

Unter Eclipse unter Preferences -> PHP -> DEBUG die Einstellungen auf xDebug umstellen und Einstellungen prüfen. Diese müssen entsprechend in der php.ini hinterlegt sein.

php.ini Datei:
Falls folgende Extensions aktiviert sind, diese deaktivieren

;extension=php_xdebug.dll
;zend_extension = “C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll”
;zend_extension_manager.optimizer_ts = “C:\xampp\php\zendOptimizer\lib\Optimizer”

Folgende Zeilen aktivieren oder hinzufügen (entsprechende dll verwenden):

[XDebug]
zend_extension_ts=”C:\xampp\php\ext\php_xdebug-2.0.5-5.3-vc6.dll”
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.profiler_enable=0
xdebug.profiler_output_dir=”C:\xampp\tmp”

Apache neustarten. Danach sollte xDebug in phpinfo() ersichtlich sein:

xdebug



ADM Files erstellen und über GPO verteilen

Active Directory, GPO, Scripts, Windows No Comments »

Generelle Struktur von ADM Files:

adm

Alle verschiedenen Syntaxe um das Template zusammenbauen zu können, sind via Google leicht auffindbar.
http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1176.htm

Im Zusammenhang mit dem RegKey für langsame Netzlaufwerkverbindungen sieht das ADM File wie folgt aus:

CLASS MACHINE
   CATEGORY "Serverexclude Novell Client"
      POLICY "BadServer Settings"
          EXPLAIN "For fast connection to MS Server"
          KEYNAME "SYSTEM\CurrentControlSet\Services\NetwareWorkstation\Parameters"
             PART "Modify your Serverlist here:" TEXT
	     END PART
             PART "ServerListe:"
                EDITTEXT
                DEFAULT "DFS-Einstiegspunkt oder Servernamen"
                VALUENAME "BadServer"
                EXPANDABLETEXT
             END PART
         END POLICY
    END CATEGORY

Nach dem Import in die Policy, kann der Regkey bequem via GPO verteilt werden.

Wichtig: Damit das eigenständig erstellte ADM File überhaupt im GrouppolicyEditor erscheint muss unter Ansicht -> Filterung -> „Haken“ entfernen bei => Nur vollständig verwaltbare Richtlinieneinstellungen anzeigen duchgeführt werden!

Links:
http://www.gruppenrichtlinien.de/index.html?/adm/Wie_funktioniert_ein_ADM_Template.htm

RegToAdm – RegKeys in ADM verpacken

Links, Scripts, Windows No Comments »

Um RegistryKeys einfach in ein ADM-Template zu verpacken um dieses in die GPO einbinden zu können, gibt es ein sehr nützliches Tool mit dem Namen “RegToAdm”. Dieses befindet sich in dem ToolKit “Nuts” von Yizhar Hurwitz. Das ToolKit kann auf seiner Homepage gedownloadet werden.

regtoadm

Quelle: www.it-diary.ch

Restart Service VBScript

Scripts, Webserver, Windows No Comments »

Starten/Stoppen von Diensten mittels VBScript:


' ------ SCRIPT CONFIGURATION ------
strComputer = "" ' e.g. fs-rtp01 (use . for local system)
strSvcName = "" ' e.g. dnscache
' ------ END CONFIGURATION ---------
set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set objService = objWMI.Get("Win32_Service.Name='" & strSvcName & "'")

intRC = objService.StopService
if intRC > 0 then
 WScript.Echo "Error stopping service: " & intRC
else
 WScript.Echo "Successfully stopped service"
end if

wscript.sleep 3000

intRC = objService.StartService
if intRC > 0 then
 WScript.Echo "Error starting service: " & intRC
else
 WScript.Echo "Successfully started service"
end if

Links: http://techtasks.com/code/viewbookcode/371