Windows 2012 : les scripts d'ouverture de session ne se lancent pas
Pour les besoins d'un logiciel fourni par un éditeur, j'ai dû mettre en place, sur un serveur 2012 R2, un script d'ouverture de session afin de fixer des clés registres dans la ruche utilisateur (HKCU). Ce n'est pas une technique que j'affectionne particulièrement, mais parfois, on n'a guère le choix. J'ai donc écrit un petit script en Powershell. Mais, je me suis heurté à un problème de taille : le script d'ouverture de session ne s'exécute pas... Aie ! Lancé à la main, le script fonctionne sans problème, mais impossible de le lancer à l'ouverture de session. Bien évidemment, j'ai vérifié que les scripts PowerShell pouvaient être exécutes. Bon, en désespoir de cause, je me suis lancé dans un script .bat qui fusionne un fichier .reg dans le registre Windows. Mais là, pareil, impossible d'avoir une exécution de script à l'ouverture de session. Je me suis donc mis à rechercher sur le net la cause de ce "problème" et le moyen d'y remédier.
Un délai pour l’exécution des scripts d'ouverture de session
Lors de mes recherches, je suis tombé sur un site en anglais, où un utilisateur racontait qu'il avait eu le même problème que moi. Dans son billet, il était expliqué qu'à partir de Server 2012, Microsoft avait instauré par défaut un délai pour l'exécution des scripts à l'ouverture de session de 5 minutes. Oui 5 minutes ! Rien que cela. Du coup, j'ai compris pourquoi mes scripts ne s'exécutaient pas. J'attendais toujours une ou deux minutes, mais après, je pensais que c'était mort...
Ok, c'est pas nouveau, c'est une technique que je n'utilise pas souvent, sauf si c'est vraiment nécessaire.
Bon, il y a un délai pour l'exécution des scripts à l'ouverture de session, OK. Mais voyons maintenant comment modifier cela.
Modification du délai d'exécution des scripts d'ouverture de session
Le délai d'exécution des scripts d'ouverture de session peut être modifié via les stratégies. Ici, je ne vais modifier que les stratégies locales, puisque je n'ai pas besoin (ni l'envie) de propager ce réglage sur d'autres machines. Si vous êtes dans le même cas, suivez donc cette procédure :
Rendez vous dans l'éditeur de stratégies locales. Pour cela, appuyez sur la touche Windows, saisissez gpedit.msc et faites Entrée.
Une fois la fenêtre gpedit ouverte, rendez-vous dans :
Computer Configuration/Administrative Templates/System/Group Policy
ou si votre serveur est en français :
Configuration Ordinateur / Modèles d'administration / Système / Stratégie de groupe
Localisez le stratégie intitulée Configurer le délai des scripts d'ouverture de session (Configure Logon Script Delay).
Double cliquez dessus et passez la sur Activé. Réglez ensuite le temps à 0. Validez et voilà. Le délai d'exécution sera supprimé. Vous pourrez à nouveau exécuter vos scripts à l'ouverture de session, sans attendre 5 minutes.
Cette manipulation est valable à partir de Windows Server 2012 R2 et Windows 8.1 pour les stations de travail.
Partager la publication "Windows 2012 : les scripts d'ouverture de session ne se lancent pas"
Merci pour cette astuce qui me sauve alors que ça fait des heures que je cherche à comprendre pourquoi ce fichu script ne voulait pas se lancer !!!
Merci !
pareil on commençait a s'arracher les cheveux 😉
That's a skillful answer to a difficult question
Bonjour, merci pour ce tuto mais l'item "Configurer le délai des scripts d'ouverture de session" n'apparait pas dans ma liste des stratégies de groupe...
Avez-vous une idée ?
Merci d'avance
Salut Fred,
Tu regardes les stratégies locales de ton serveur Windows ou les stratégies de groupe sur les contrôleurs de domaine ?
Merci Sandstorm pour ta réponse rapide.
Mon serveur W2012 est en même temps contrôleur de domaine. J'ai donc édité les stratégies locales (gpedit.msc) sur le serveur Windows...
Très bizarre ! Tu devrais l'avoir...
Et dans les GPO de ton domaine ?
Bonjour,
Pareil... D'une part gpedit.msc n'était pas sur mon système Windows 8.1 (à jour), pas plus que "Configuration Ordinateur" d'ailleurs. J'ai récupéré un gpedit.msc mais parmi les options proposées dans Local Computer Policy / Administrative Templates / System / Group Policy je ne trouve pas "Configure Logon Script Delay".
Tous simplement MERCI.
De rien, merci pour ton commentaire 😉