Microsoft Active Setup

von unserem Mitarbeiter Thorsten Gerhart

Ausführen von Programmen bei der Anmeldung im Rechtekontext des Benutzers

Viele Microsoft Applikationen, wie Internet Explorer und Outlook Express aber auch Applikationen von Drittherstellern verwenden Active Setup, um zum Beispiel Benutzerkonfigurationen (Registry Einträge und Dateien im Benutzerprofil) bei der Anmeldung einmalig zu setzen. Diese Funktion kann man sich zu Nutze machen, um selbst personalisierte Einstellungen für User zu setzen bzw. Programme einmalig bei der Benutzeranmeldung aufzurufen. Dabei werden die Einstellungen und Programme im Rechtekontext des Users ausgeführt.

Hinweise und Warnungen

Active Setup ist eine Technologie, die Microsoft seinen Systemen gleich mitgibt. Es sollte dennoch mit Bedacht eingesetzt werden. Bei den meisten Szenarien ist der Einsatz von Group Policies das Mittel der Wahl.

Es gibt für Active Setup keine Timeouts und keine Möglichkeiten einen toten Prozess zu erkennen. Wenn ein Programm, das über StubPath (Erläuterung siehe weiter unten) gestartet wurde, abstürzt oder hängt, hängt sowohl der gestartete Prozess, das Active Setup und ggf. das komplette System. Da Active Setup noch vor dem Anmeldeprozess läuft, kann es dazu führen, dass der PC nicht mehr reagiert und das System neu gestartet werden muss. Active Setup generiert auch keine Log Files. Im Eventlog sind die ausgeführten Aktionen jedoch aufgeführt.

  • Jedes beliebige Kommando kann unter StubPath gesetzt werden
  • Microsoft unterstützt das Arbeiten mit Active Setup nicht. Es gibt keinen Support bei Problemen.

Die Verwendung von Active Setup wie nachfolgend beschrieben, geschieht daher auf eigene Gefahr!

Anwendung

Active Setup kann verwendet werden, um diverse Aktionen einmalig für jeden Benutzer ausführen zu lassen, der sich am System anmeldet:

  • Setzen von Voreinstellungen im Benutzerprofil
  • Einmaliges Ausführen beliebiger Kommandozeilenaktionen

Beschreibung

Active Setup kann im Bereich Software Deployment ein wichtiger Bestandteil sein. Benutzerdefinierte Einstellungen oder diverse Programmaufrufe müssen oft im Rechtekontext des Users ausgeführt werden. Management Tools wie DELL KACE und Matrix42 nutzen jedoch die Zuweisungen an Rechner und nicht an Benutzer. Genau hier kann mit Active Setup angesetzt werden.

Bei der Anmeldung eines Benutzers vergleicht Active Setup zwei Registry Keys und deren Sub Keys miteinander. Werte aus HKLM werden dabei während des Anmeldevorgangs teilweise in den HKCU Hive übernommen. Dabei können Befehle über den Schlüssel „StubPath“ mitgegeben werden. Diese Befehle werden dann einmalig beim Anmelden des Users mit dessen eigenen Rechten ausgeführt.

Wann wird Active Setup ausgeführt

Befehle, die mit Active Setup aufgerufen werden, laufen noch bevor der Desktop geladen wird. Der Anmeldevorgang wird blockiert, bis die Befehle abgearbeitet wurden. Aber Achtung! Dies kann auch zu Problemen führen wenn ein Befehl nicht komplett abgearbeitet werden kann. Siehe Punkt Hinweise und Warnungen.

Welche Registry Schlüssel verwendet Active Setup

Diese beiden RegKeys verwendet Active Setup:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components

Unter HKLM wird der eigentliche Befehl hinterlegt. Für jeden User, der sich anmeldet, wird eine Kopie des Schlüssels unter HKCU angelegt.

Welche Werte können verwendet werden

In den beiden Registry Einträgen befindet sich für jede über Active Setup gesteuerte Installation ein eigener Schlüssel. Typischerweise ist es die Produkt GUID als Schlüsselname. Es kann aber auch jede beliebige andere (eindeutige) Bezeichnung sein. Jeder dieser Unterschlüssel kann u.a. die folgenden Werte beinhalten.

  • Default: Der Default Wert sollte den sprechenden Namen beinhalten. Der Eintrag hier wird bei der Benutzeranmeldung angezeigt. Bsp: Mein Konfigurationspaket
  • StubPath: Die Befehlszeile, die ausgeführt werden soll, wenn sich der Benutzer anmeldet. Bsp. „msiexec.exe /fu meinMSI.msi /qb-„ oder „c:\windows\system32\reg.exe add HKCU\Software\Microsoft\Office\14.0\Word\Options /v NoReReg /t REG_DWORD /d 1 /f“
  • Version: Die Version wird ebenfalls abgeglichen. Ist die Version unter HKLM größer als die Version unter HKCU so wird der StubPath erneut ausgeführt. Bsp.: 1,0,0,1 (Achtung: Durch Komma trennen)
  • IsInstalled: 0: Der Befehl wird nicht ausgeführt. 1: Der Befehl wird einmal pro User ausgeführt. Dies ist die Standardeinstellung.

Wie läuft das Ganze ab

  • Benutzer meldet sich an.
  • Active Setup überprüft den Schlüssel “Installed Components“ im HKLM und vergleicht ihn mit den Einträgen im Benutzerprofil HKCU.
  • Fehlt unter HKCU eine Installation oder ist die Version in HKLM grösser als die Version unter HKCU, so wird das Kommando im Registry Wert StubPath (aus HKLM) ausgeführt
  • Anschließend wird der Schlüssel aus HKLM in HKCU übernommen bzw. die Versionsnummer angepasst.
  • Bei der nächsten Anmeldung werden wieder beide Werte verglichen.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s