Hinzufügen eines benutzerdefinierten Skripts zu Windows Setup

Windows Setup-Skripts

Setupcomplete.cmd und ErrorHandler.cmd sind benutzerdefinierte Skripts, die während oder nach dem Windows Setup-Prozess ausgeführt werden. Sie können verwendet werden, um Anwendungen zu installieren oder andere Aufgaben mithilfe von Cscript/wscript-Skripts auszuführen.

  • %WINDIR%\Setup\Skripts\SetupComplete.cmd: Dieses Skript wird mit lokalen Systemberechtigungen ausgeführt und startet sofort, nachdem der Benutzer den Desktop sieht. Diese Einstellung ist bei der Verwendung von OEM-Produktschlüsseln deaktiviert, außer bei Enterprise-Editionen und Windows Server-Betriebssystemen.
  • %WINDIR%\Setup\Skripts\ErrorHandler.cmd: Dieses Skript wird automatisch ausgeführt, wenn Setup auf einen schwerwiegenden Fehler stößt. Es wird mit lokaler Systemberechtigung ausgeführt.

Ausführen eines Skripts nach Abschluss des Setups (SetupComplete.cmd)

Reihenfolge der Vorgänge

  1. Nachdem Windows installiert wurde, aber bevor der Anmeldebildschirm angezeigt wird, wird von Windows Setup im Verzeichnis %WINDIR%\Setup\Scripts\ nach der Datei SetupComplete.cmd gesucht.

  2. Wenn eine SetupComplete.cmd-Datei gefunden wird, führt Windows Setup das Skript aus. Windows Setup protokolliert die Aktion in der Datei C:\Windows\Panther\UnattendGC\Setupact.log.

    Setup überprüft keine Exitcodes oder Fehlerstufen im Skript, nachdem es SetupComplete.cmd ausführt.

    Warnung

    Sie können das System nicht neu starten und die Ausführung von SetupComplete.cmd fortsetzen. Sie sollten das System nicht neu starten, indem Sie einen Befehl wie herunterfahren -r hinzufügen. Dadurch wird das System in einen schlechten Zustand versetzt.

  3. Wenn der Computer während der Installation einer Domäne beitritt, wird die Gruppenrichtlinie, die in der Domäne definiert ist, erst nach Abschluss von Setupcomplete.cmd auf den Computer angewendet. Damit soll sichergestellt werden, dass die Konfigurationsaktivitäten der Gruppenrichtlinien das Skript nicht beeinträchtigen.

Ein Skript ausführen, wenn Windows Setup auf einen schwerwiegenden Fehler stößt (ErrorHandler.cmd)

ErrorHandler.cmd ist nützlich, wenn Sie viele Systeme gleichzeitig installieren wollen. Dies hilft Ihnen zu erkennen, wenn während des Windows-Setups ein Fehler auftritt. Wenn dies der Fall ist, führt Setup automatisch ein Skript aus, das benutzerdefinierte Befehle oder Aktionen enthalten kann, um die Fehlerursache zu beheben.

Wenn Windows Setup auf einen schwerwiegenden Fehler stößt und die Installation nicht abschließen kann, sucht Windows Setup im folgenden Verzeichnis nach einem Befehlsskript: %WINDIR%\Setup\Scripts\ErrorHandler.cmd. Je nachdem, ob das Skript gefunden wird, wird eine von zwei Aktionen ausgeführt.

  • Wenn das Skript nicht gefunden wird, wird ein Dialogfeld mit dem Fehlertext angezeigt. Der Benutzer muss das Dialogfeld schließen, bevor Windows Setup beendet wird.
  • Wenn das Skript gefunden wird, wird es synchron ausgeführt. Es wird kein Dialogfeld oder Fehlertext angezeigt. Nachdem das Skript ErrorHandler.cmd ausgeführt wurde, wird das Windows-Setup beendet.

Abhängig von der Phase vom Windows Setup kehrt der Computer zu der Umgebung zurück, in der Windows Setup ausgeführt wurde, z. B. eine frühere Version des Betriebssystems oder Windows Preinstallation Environment (Windows PE).

Es kann vorkommen, dass Windows Setup mehr als einen Fehler feststellt und das Skript ErrorHandler.cmd mehr als einmal ausführt. Achten Sie bei der Entwicklung des Codes für ErrorHandler.cmd darauf, dass Sie dieses Skript mehrfach ausführen können.

Verwenden von ErrorHandler.cmd

Um ErrorHandler.cmd zu verwenden, können Sie eine der folgenden Aktionen ausführen:

  • Mounten Sie das Image und fügen Sie es in %WINDIR%\Setup\Scripts\ErrorHandler.cmd dem Image hinzu. Heben Sie die Bereitstellung des Images auf.

    - oder -

  • Fügen Sie ErrorHandler.cmd zu einem temporären Dateispeicherort hinzu (z. B. C:\Temp\ErrorHandler.cmd), und führen Sie Windows Setup dann mithilfe der Option /m aus.

    Setup /m:C:\Temp
    

    Weitere Informationen finden Sie unter Windows Setup-Befehlszeilenoptionen.

Verwenden von Unattend zum Ausführen von Skripts

Erstellen Sie eine Unattend.xml-Datei mit einer dieser Einstellungen, die während des Windows Setup-Prozesses ausgeführt werden sollen. Dies kann mit OEM-Produktschlüsseln verwendet werden.

Um Dienste oder Befehle auszuführen, die gleichzeitig gestartet werden können, verwenden Sie RunAsynchronous-Befehle.

Einige dieser Einstellungen laufen im Benutzerkontext, andere im Systemkontext, je nach Konfigurationspass.

  • Fügen Sie Microsoft-Windows-Setup\RunAsynchronousCommand oder RunSynchronousCommand hinzu, um ein Skript auszuführen, wenn Windows Setup gestartet wird. Dies kann hilfreich sein, um Festplattenpartitionen festzulegen.

  • Fügen Sie Microsoft-Windows-Deployment\RunAsynchronousCommand oder RunSynchronousCommand zum AuditUser-Konfigurationspass hinzu, um ein Skript auszuführen, das ausgeführt wird, wenn der PC in den Überwachungsmodus wechselt. Dies kann hilfreich für Aufgaben wie die automatisierte App-Installation oder -Tests sein.

  • Fügen Sie Microsoft-Windows-Shell-Setup\LogonCommands\AsynchronousCommand oder FirstLogonCommands\SynchronousCommand hinzu, damit sie nach der Windows-Willkommensseite (Out of Box Experience, OOBE) ausgeführt werden, aber bevor der Benutzer den Desktop sieht. Dies kann besonders nützlich sein, um sprachspezifische Anwendungen oder Inhalte einzurichten, nachdem der Nutzer bereits seine Sprache ausgewählt hat.

    Verwenden Sie diese Skripte sparsam, denn lange Skripte können den Benutzer daran hindern, den Startbildschirm schnell zu erreichen. Für Einzelhandelsversionen von Windows gelten zusätzliche Einschränkungen für diese Skripte. Informationen finden Sie im Leitfaden für Lizenzierung und Richtlinien im OEM Partner Center.

    Hinweis

    Wenn Sie ein Skript über FirstLogonCommands hinzufügen, wird dieses auch dann beim nächsten Start ausgelöst, wenn Sie mit STRG+UMSCHALT+F3 im Überwachungsmodus starten. Um den Überwachungsmodus zu starten, ohne diese Skripts auszulösen, fügen Sie die Einstellung hinzu: Microsoft-Windows-Deployment\Reseal\Mode = Audit.

Technische Referenz zu Windows SetupBereitstellen eines benutzerdefinierten ImagesStarten von Windows im Überwachungsmodus oder über die Windows-WillkommensseiteHinzufügen von Gerätetreibern zu Windows während des Windows-Setups