Ajouter un script personnalisé au programme d’installation de Windows

Scripts d’installation Windows

Setupcomplete.cmd et ErrorHandler.cmd sont des scripts personnalisés qui s’exécutent pendant ou après le processus d’installation de Windows. Ils peuvent être utilisés pour installer des applications ou exécuter d’autres tâches à l’aide de scripts cscript/wscript .

  • %WINDIR%\Setup\Scripts\SetupComplete.cmd : ce script s’exécute avec des autorisations système locales et démarre immédiatement après que l’utilisateur a vu le bureau. Ce paramètre est désactivé lors de l’utilisation de clés de produit OEM, à l’exception des éditions Enterprise et des systèmes d’exploitation Windows Server.
  • %WINDIR%\Setup\Scripts\ErrorHandler.cmd : ce script s’exécute automatiquement lorsque le programme d’installation rencontre une erreur irrécupérable. Il s’exécute avec l’autorisation système local.

Exécuter un script une fois l’installation terminée (SetupComplete.cmd)

Ordre des opérations

  1. Une fois Windows installé, mais avant que l’écran d’ouverture de session ne s’affiche, le programme d’installation de Windows recherche le fichier SetupComplete.cmd dans le répertoire %WINDIR%\Setup\Scripts\ .

  2. Si un fichier SetupComplete.cmd est trouvé, le programme d’installation de Windows exécute le script. Le programme d’installation de Windows consigne l’action dans le fichier C:\Windows\Panther\UnattendGC\Setupact.log .

    Le programme d’installation ne vérifie aucun code de sortie ou niveau d’erreur dans le script après avoir exécuté SetupComplete.cmd.

    Avertissement

    Vous ne pouvez pas redémarrer le système et reprendre l’exécution de SetupComplete.cmd. Vous ne devez pas redémarrer le système en ajoutant une commande telle que shutdown -r. Cela met le système dans un état incorrect.

  3. Si l’ordinateur joint un domaine pendant l’installation, le stratégie de groupe défini dans le domaine n’est pas appliqué à l’ordinateur tant que Setupcomplete.cmd n’est pas terminé. Cela permet de s’assurer que l’activité de configuration stratégie de groupe n’interfère pas avec le script.

Exécutez un script si le programme d’installation de Windows rencontre une erreur irrécupérable (ErrorHandler.cmd)

ErrorHandler.cmd est utile lorsque vous installez de nombreux systèmes en même temps. Cela vous permet de détecter quand une erreur se produit pendant le programme d’installation de Windows. Dans ce cas, le programme d’installation exécute automatiquement un script qui peut contenir des commandes ou des actions personnalisées pour résoudre la cause de l’erreur.

Si le programme d’installation de Windows rencontre une erreur irrécupérable et ne peut pas terminer l’installation, le programme d’installation de Windows recherche un script de commande dans le répertoire suivant : %WINDIR%\Setup\Scripts\ErrorHandler.cmd. L’une des deux actions se produit, selon que le script est trouvé ou non.

  • Si le script est introuvable, une boîte de dialogue s’affiche avec le texte d’erreur. Un utilisateur doit ignorer la boîte de dialogue avant que le programme d’installation de Windows ne se termine.
  • Si le script est trouvé, le script s’exécute de manière synchrone. Aucune boîte de dialogue ou texte d’erreur n’est affiché. Une fois l’exécution du script ErrorHandler.cmd terminée, le programme d’installation de Windows se ferme.

Selon la phase du programme d’installation de Windows, l’ordinateur retourne à l’environnement à partir duquel le programme d’installation de Windows a été exécuté, comme une version antérieure du système d’exploitation ou l’environnement de préinstallation Windows (Windows PE), par exemple.

Il peut arriver que le programme d’installation de Windows rencontre plusieurs erreurs et exécute le script ErrorHandler.cmd plusieurs fois. Lorsque vous développez le code pour ErrorHandler.cmd, assurez-vous que vous pouvez exécuter ce script plusieurs fois.

Utiliser ErrorHandler.cmd

Pour utiliser ErrorHandler.cmd, vous pouvez effectuer l’une des opérations suivantes :

  • Montez l’image et ajoutez-la à l’image, dans %WINDIR%\Setup\Scripts\ErrorHandler.cmd. Démontez l’image.

    -ou-

  • Ajoutez ErrorHandler.cmd à un emplacement de fichier temporaire (par exemple, C:\Temp\ErrorHandler.cmd), puis exécutez le programme d’installation de Windows à l’aide de l’option /m .

    Setup /m:C:\Temp
    

    Pour plus d’informations, consultez Options du programme d’installation de Windows Command-Line.

Utiliser Unattend pour exécuter des scripts

Créez un fichier Unattend.xml avec l’un de ces paramètres à exécuter pendant le processus d’installation de Windows. Il peut être utilisé avec des clés de produit OEM.

Pour exécuter des services ou des commandes qui peuvent démarrer en même temps, utilisez RunAsynchronousCommands.

Certains de ces paramètres s’exécutent dans le contexte utilisateur, tandis que d’autres s’exécutent dans le contexte système en fonction du passage de configuration.

  • Ajoutez Microsoft-Windows-Setup\RunAsynchronousCommand ou RunSynchronousCommand pour exécuter un script au démarrage du programme d’installation de Windows. Cela peut être utile pour définir des partitions de disque dur.

  • Ajoutez Microsoft-Windows-Deployment\RunAsynchronousCommand ou RunSynchronousCommand à la passe de configuration auditUser pour exécuter un script qui s’exécute lorsque le PC passe en mode audit. Cela peut être utile pour des tâches telles que l’installation ou le test automatisés d’applications.

  • Ajoutez Microsoft-Windows-Shell-Setup\LogonCommands\AsynchroneCommand ou FirstLogonCommands\SynchronousCommand pour s’exécuter après l’expérience OOBE (Out of Box Experience), mais avant que l’utilisateur ne voit le bureau. Cela peut être particulièrement utile pour configurer des applications ou du contenu spécifiques à la langue une fois que l’utilisateur a déjà sélectionné sa langue.

    Utilisez ces scripts avec parcimonie, car les scripts longs peuvent empêcher l’utilisateur d’accéder rapidement à l’écran d’accueil. Pour les versions commerciales de Windows, des restrictions supplémentaires s’appliquent à ces scripts. Pour plus d’informations, voir l’aide concernant les licences et la politique d’utilisation dans le Centre de partenaires OEM.

    Notes

    Lorsque vous ajoutez un script à l’aide de FirstLogonCommands, il est déclenché au prochain démarrage, même si vous démarrez en mode audit à l’aide de Ctrl+Maj+F3. Pour démarrer en mode audit sans déclencher ces scripts, ajoutez le paramètre : Microsoft-Windows-Deployment\Reseal\Mode = Audit.

Référence technique du programme d’installation de WindowsDéployer une image personnaliséede démarrage Windows en mode Audit ou OOBEAjouter des pilotes de périphérique à Windows pendant l’installation de Windows