IEREGSET (IE Registry Settings)

 

Kurz gesagt

Für alle die, denen es nicht schnell genug gehen kann, hier die kurze Anleitung zur Erstellung eines IEREGSET Logs:

  1. Ein Support Mitarbeiter fordert dich auf ein IEREGSET zu erstellen und schickt dir das Installationspackage IEREGSET.MSI
  2. Starten der Installationsdatei im Adminkontext (ggf. elevaten)
  3. Nach Beendigung der Installation entweder
    1. Wenn der/ein Administrator Account das Problem auch hat einfach die “ieregset.cmd” aufrufen, welche während der Laufzeit automatisch einen elevateten IE startet (der Installer legt einen Link auf den Desktop)
    2. Wenn der/ein Administrator Account nicht betroffen ist, dann durch einen User die “ieregset.exe” ausführe
      1. Wir empfehlen, dass in diesem Fall ein zweites IEREGSET Log durch einen Administrator ausgeführt wird, vgl. “Wie funktioniert’s”
  4. Das Log wird unter C:\Users\%username%\Desktop\IEREGSET.HTM abgespeichert

Beschreibung

IEREGSET ist ein Tool, welches automatisch alle Internet Explorer relevanten Registry Settings und ggf. Informationen über die verwendeten Internet Explorer Module sammelt und anschließend bei Vorlage einer Referenzdatei die Settings vergleicht und Unterschiede aufzeigt. Dies eignet sich besonders für ein Szenario in dem manche User/Maschinen funktionieren, jedoch andere wiederum nicht.

Installation

Die Setupdateien sind derzeit nicht frei verfügbar und müssen dir daher durch einen Support Mitarbeiter zur Verfügung gestellt werden.

Dies wollen wir mit der nächsten Version ändern, siehe Ausblick

Wie funktioniert’s

IEREGSET versucht insb. 2 Dinge auszulesen:

  1. Alle (verfügbaren) Registry Settings unterhalb der Keys:
    1. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer
    2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
    3. HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer
    4. HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
    5. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    6. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
    7. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer
    8. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
  2. Die verfügbaren Modul Versionen. Ein Modul bedeutet hier eine DLL, die für den Betrieb des Internet Explorers notwendig ist, z.B.: %systemroot%\system32\wininet.dll

Sollten Informationen nicht vorhanden sein (z.B.: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer), so werden diese nicht “leer” mitprotokoliert, allerdings im Outputfile unter “Errors” gelistet, z.B.: RegOpenKey HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer failed (error = 0x00000002)

 

Analyse

Eine allgemeine Anleitung für die Analyse eines IEREGSET Logs ist schwierig.

Daher sollte sich die erste Analyse auf einen direkten Vergleich mit einem funktionierenden und einem nicht funktionierenden Log abzielen. Sollten sich bei einem solchen Vergleich Unterschiede zeigen, so sollte der nicht funktionierende Client nach und nach die Settings des funktionierenden Clients bekommen, um das ursächliche Setting zu finden, wobei es sich als sinnvoll erwiesen hat, als ersten Schritt alle Settings anzuwenden um zu überprüfen, ob die Annahme, dass es sich um durch ein Setting verursachtes Problem handelt.

Dies sind typische andere Fehler, die schnell durch einen Blick in ein IEREGSET Log gefunden werden können:

  1. Nicht vollständig erstelltes Profil: typischer Weise fehlen bei einem unvollständigen Profils (z.B. in Terminal Server Szenarien) viele der Zonensettings –> ein Blick in HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3 und überprüfen, ob hier ca. 70-80 Settings vorhanden sind. Bei einem unvollständigen Profil sind deutlich weniger (ca. 10 insg.) Settings vorhanden.
  2. Group Policy Settings werden nicht übertragen: Hier kann schnell über die Keys HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer und HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings erkannt werden, ob die erwarteten Policies bei dem User angekommen sind.
  3. Zonenzuweisungen sind unterschiedlich: über HKEY_CURRENT_USER\SOFTWARE\[Policies\]Microsoft\Windows\CurrentVersion\Internet Settings\Zonemap\domains kann schnell überprüft werden, ob eine Zonenzuweisung korrekt eingestellt ist, oder ob ggf. ein User eine Zuweisung gemacht hat. Auch kann hier festgestellt werden, ob die Zuweisungen im erwarteten Format eingetragen sind. Das richtige Format ist “…\ZoneMap\domains\%2ndleveldomain%[.%1stleveldomain%]\%allsubdomains%. D.h., wenn dort ein Key existiert “%subdomain3%.%subdomain2%.%subdomain1%.%2ndleveldomain%.%1stleveldomain%”, so kann es hier u.U. zu einer nicht korrekten Zonenanwendung kommen. Diese Einträge müssen dann gemäß dem o.g. Format korrigiert werden.
  4. Bei dem Überprüfen der Modulliste können alte oder nicht passende Module anhand der Versionsnummern identifiziert werden. Außerdem können hier 3rd party Komponenten auf den ersten Blick erkannt werden. Tip: bei Problemen auch folgenden Aufruf testen: “iexplore –extoff" um alle Extensions zu disablen um diese zu 100% als Verursacher eines Problems auszuschließen.

 

Ausblick

Wir planen derzeit eine Version 2 von IEREGSET zu erstellen, welche

  1. einfacher zu bedienen ist
  2. zusätzliche Automatismen für die Fehlererkennung mitbringt
  3. einen einfachen Vergleich mit den default Settings ermöglicht
  4. eine Interaktion/Integration mit der Group Policy Search ermöglicht

Derzeit können wir leider noch keinen Zeitplan für das Projekt nennen.

Syntax

IEREGSET

/F:reportfile     show diff between report file (/F) and ref file (/R)
/G                generate report but don't display it
/H                display help
/I:inifile        use specified ini file to dump settings
/L                use HKLM only
/O:reportfile     output report to reportfile
/R:referencefile  compare current registry or report file with ref file
/S:waitdelay      number of seconds to wait before getting modules list - default is 5 seconds
/U                use HKCU only
/V                verbose output
/X:regfile        export settings to .reg file

Step by step example :

1) run IEREGSET /O:IEREF.HTM to save IE reg settings in IEREF.HTM
2) run IE, change settings and exit
3) run IEREGSET /R:IEREF.HTM to dump registry changes
4) run IEREGSET /O:NEWREF.HTM to create a new ref file
5) run IEREGSET /F:NEWREF.HTM /R:IEREF.HTM to compare new/old ref files