Freigeben über


Benutzerdefinierte Aktionen während der Funktionsaktualisierung ausführen

Übersicht

IT-Experten können ein Featureupdate anpassen, indem sie ihre eigenen benutzerdefinierten Aktionsskripts während und nach einem Featureupdate ausführen. Benutzerdefinierte Aktionen sind ab Windows 10 Version 1803 verfügbar.

Ausführen benutzerdefinierter Aktionen

Informationen zu benutzerdefinierten Aktionen

Benutzerdefinierte Aktionen sind CMD-Skripts, die während des Featureupdatevorgangs ausgeführt werden. Diese können während vier Phasen eines Featureupdates ausgeführt werden:

  1. Vorinstallationsphase: Diese Phase wird beim Starten des Setups ausgeführt, aber vorherige Kompatibilitätsprüfungen. Aktionen während dieser Phase werden in preinstall.cmd. Wenn die Skripts fehlschlagen, schlägt das Featureupdate fehl.
  2. Vorab-Commit-Phase: Diese Phase befindet sich vor der Anwendung des Featureupdates und dem Systemneustart. Aktionen während dieser Phase werden in precommit.cmd. Wenn die Skripts fehlschlagen, schlägt das Featureupdate fehl.
  3. Phase nach der Deinstallation: Diese Phasen werden ausgeführt, nachdem ein Benutzer eine Deinstallation eines Featureupdates initiiert hat. Aktionen während dieser Phase werden in postuninstall.cmd. postuninstall.cmd ist neu für Windows 10, Version 2004.
  4. Abschluss: Diese Phase erfolgt nach Abschluss des Setups. Wenn das Featureupdate fehlschlägt oder zurückgesetzt werden muss, failure.cmd können sie zum Ausführen von benutzerdefinierten Vorgängen oder Rückgängigmachen von Aktionen früherer benutzerdefinierter Skripts verwendet werden. Wenn das Featureupdate erfolgreich ist, kann verwendet werden, success.cmd um Featureupdateaktionen auszuführen. success.cmd ist neu für Windows 10, Version 2004.

Benutzerdefinierte Aktionen werden während eines Featureupdates ausgeführt, das von Windows Setup installiert wird. Einige Windows-Funktionsupdates werden über ein monatliches Qualitätsupdate installiert und später über ein "Enablement-Paket", einen kleinen, schnell zu installierenden Master-Switch, aktiviert, der die Windows-Features aktiviert. Aktualisieren Sie z. B. von Windows 10, Version 2004 auf Windows 10, Version 20H2. Benutzerdefinierte Aktionen werden für Featureupdates, die über Aktivierungspakete installiert werden, nicht unterstützt.

Ordnerstruktur für benutzerdefinierte Aktionen

Benutzerdefinierte Aktionsskripts werden von Unterordnern ausgeführt %windir%\System32\update\, je nachdem, ob Skripts für ein einzelnes Upgrade oder für alle zukünftigen Upgrades ausgeführt werden sollen. Windows Setup sucht automatisch nach diesen Skripts an den folgenden Speicherorten und führt sie aus, wenn sie vorhanden sind:

Ordner Beschreibung
%windir%\System32\update\run Windows Setup migriert Skripts in diesen Ordnern, sodass sie in zukünftigen Upgrades ausgeführt werden.
%windir%\System32\update\runonce Skripts in diesem Ordner werden nur in einem Upgrade ausgeführt und werden nicht für zukünftige Upgrades migriert.
%windir%\System32\update\run\<GUID>

%windir%\System32\update\runonce\<GUID>
Erstellen Sie eine eindeutige GUID, um jedes von Ihnen ausgeführte Skript eindeutig zu identifizieren. Verwenden Sie diese GUID, um einen Ordner innerhalb der run Ordner und runonce Ordner zu benennen.
%windir%\System32\update\run\<GUID>\reflectdrivers

%windir%\System32\update\runonce\<GUID>\reflectdrivers
Startkritische Treiber in diesem Ordner werden widergespiegelt. Stellen Sie sicher, dass der Ordner "Reflectdrivers" nur einen erforderlichen Satz von Verschlüsselungstreibern enthält. Wenn mehr Treiber als erforderlich erforderlich sind, können Sich auf Upgradeszenarien negativ auswirken. Weitere Informationen zu reflektierten Treibern finden Sie unter Gerätetreiber .

Wenn eine Aktualisierung fehlschlägt oder zurückgesetzt werden muss, kann ein Skript failure.cmd verwendet werden, um benutzerdefinierte Operationen durchzuführen oder Aktionen früherer benutzerdefinierter Skripts rückgängig zu machen. Wenn die Skripte fehlschlagen, schlägt auch die Aktualisierung fehl.

Benutzerdefinierte Aktionsskriptspeicherorte und Beispiele

Skriptspeicherorte

Die folgende Tabelle zeigt die Ordnerpfadstruktur von Dateien zum Ausführen benutzerdefinierter Aktionen:

Ausführen (Skripts werden migriert) Einmal ausführen (Skripts werden nicht migriert)
%windir%\System32\update\run\<GUID>\preinstall.cmd %windir%\System32\update\runonce\<GUID>\preinstall.cmd
%windir%\System32\update\run\<GUID>\precommit.cmd %windir%\System32\update\runonce\<GUID>\precommit.cmd
%windir%\System32\update\run\<GUID>\postuninstall.cmd %windir%\System32\update\runonce\<GUID>\postuninstall.cmd
%windir%\System32\update\run\<GUID>\success.cmd %windir%\System32\update\runonce\<GUID>\success.cmd
%windir%\System32\update\run\<GUID>\failure.cmd %windir%\System32\update\runonce\<GUID>\failure.cmd
%windir%\System32\update\run\<GUID>\reflectdrivers\example1.inf %windir%\System32\update\runonce\<GUID>\reflectdrivers\example2.inf
%windir%\System32\update\run\<GUID>\reflectdrivers\example1.sys %windir%\System32\update\run\<GUID>\reflectdrivers\example2.sys

Beispieldateipfade und -namen

Szenarien Dateispeicherortbeispiele
Skriptbereitstellungsdaten %windir%\system32\update\
Migrationsverzeichnisse
Skripts, die migriert werden %windir%\system32\update\run\
Skripts, die nicht migriert werden %windir%\system32\update\runonce\
Ordnerpfad mit einer GUID %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\
Skriptnamen mit GUID
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\preinstall.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\precommit.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\postuninstall.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\failure.cmd
%windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\success.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\preinstall.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\precommit.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\postuninstall.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\failure.cmd
%windir%\system32\update\runonce\6971CB27-6F59-43CD-A764-969EE9BBCC1C\success.cmd
Ordner "Reflektierte Treiber" %windir%\system32\update\run\6971CB27-6F59-43CD-A764-969EE9BBCC1C\reflectdrivers\