Paramétrage Windows Update via registre

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Norrec
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2017 10:42

Paramétrage Windows Update via registre

Message par Norrec »

Bonjour à tous !

J'ai effectué une recherche pour savoir si l'un d'entre vous avait déjà abordé le sujet mais je n'ai pas trouvé ... Alors j'expose donc mon problème ici.

J'ai un projet à mener, qui consiste à automatiser l'installation des MAJ Windows Update via un .bat sur tous mes serveurs. Je vous expose mon raisonnement et ensuite viendra le petit bout de script que j'ai déjà mis en place, et tous les détails qui vont avec :)

Etape 1 : Configurer les paramètres windows update sur "télécharger et installer les MAJ sans redémarrer".
Etape 2 : Bloquer le fait que une fois ces MAJ installées, le log via une session ayant les droits admins déclenche un compte à rebours de reboot de mon serveur.
Etape 3 : Planifier le reboot de mon serveur tous les premiers dimanches de chaque mois, à une heure précise.

Voici le script que j'ai commencé (je débute, pas de jugements :p ) :

regedit /e c:\Save_registre.reg
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\AU /v AUOptions /t REG_DWORD /d 4 /f
shutdown -a
pause

Normalement, les deux reg add ajoutent les valeurs qui permettent, pour la première, de bloquer le compte à rebours après une connexion en admin, et pour la deuxième, de paramétrer Win update sur "télécharger, installer, et mais pas redémarrer". Et le shutdown -a à la fin c'est pour assurer le coup si jamais le compte à rebours était déjà lancé.

Mon problème : Ca marche pas ! :( j'ai exécuté mon script avec mon registre ouvert et en F5 régulièrement pour voir si ça changeait la valeur, mais non :( (je parle de la première ligne reg add). J'ai ensuite trouvé ça sur le site msdn :

AUOptions Reg_DWORD Range = 2|3|4|5

- 2 = Notify before download.
- 3 = Automatically download and notify of installation.
- 4 = Automatically download and schedule installation. Only valid if values exist for ScheduledInstallDay and ScheduledInstallTime.
- 5 = Automatic Updates is required and users can configure it.

Je crois comprendre que le paramètre 4 nécessite que deux autres valeurs soient créées, qui planifient donc le jour de l'installation, et l'heure.

Question 1 : Est-ce que j'ai raison et dois-je intégrer la création de ces deux valeurs dans mon script ?
Question 2 : Est-ce que je me plante carrément et je dois voir les choses autrement ?
Question 3 : Avec ce petit bout de script que j'ai commencé, l'un d'entre vous peut-il m'aider à réaliser le processus de bout en bout pour que j'analyse ensuite les lignes et que je comprenne la démarche pour pouvoir la reproduire ailleurs et autrement si nécessaire ? :)

J'espère avoir apporté assez de détails ! Merci beaucoup pour votre aide :)
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: Paramétrage Windows Update via registre

Message par barnabe0057 »

Bonjour,

Question 1 : oui il faut intégrer la création de ces deux valeurs dans le script, mais ce n'est pas ça qui empêche la commande REG ADD de fonctionner, il faut lancer le script avec le clic-droit "exécuter en tant qu'admin"

Question 2 : non c'est très bien comme ça

Question 3 : si tu as besoin d'aide je suis là.
Norrec
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2017 10:42

Re: Paramétrage Windows Update via registre

Message par Norrec »

Hey merci pour tes réponses :) J'ai réussi à faire fonctionner ce script la, voilà ce que ça donne au final :

regedit /e c:\Save_registre.reg
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\Auto Update" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 4 /f
shutdown -a


Maintenant voici ma problématique : Je vais devoir en créer un autre (ou alors dans le même script) qui va détecter si la machine sur lequel le script s'exécute est une VM, ou un serveur physique, en se basant sur le nom de la machine. Ensuite, si c'est une VM, elle redémarrera à X heure. Si c'est une machine physique, elle redémarrera à Y heure. Et ce, tous les premiers dimanches de chaque mois.

Donc la je pense que je vais devoir me diriger vers un truc un peu plus velu, qui va consister à programmer en IF, THEN, ELSE, etc ..... à appeler des fonctions tout ça ... Bref, je sais pas dans quoi je me suis fourré mais je vais m'amuser :D
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: Paramétrage Windows Update via registre

Message par barnabe0057 »

Je ne sais pas trop quel critère choisir pour détecter si c'est une machine virtuelle ou pas, dès que tu auras trouvé fais-moi signe je t'aiderai à coder tout ça.
Norrec
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2017 10:42

Re: Paramétrage Windows Update via registre

Message par Norrec »

Me revoilà !

En fait a bien y regarder même le nom de la machine n'indique pas si c'est une VM ou un serveur physique. On a un outil ici qui nous permet de les différencier, cet outil c'est RMM, et dans la description de la machine, dans la partie "détails matériels" on peut trouver "Microsoft Corporation Virtual Machine". La on sait que c'est une VM, car dans le cas d'une machine physique on voit la marque et le modèle (par exemple HP ProLiant etc ..."

Je ne sais pas sur quel critère je peux me baser pour différencier les deux du coup ...
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: Paramétrage Windows Update via registre

Message par barnabe0057 »

Je pense avoir trouvé la solution : http://www.windowsnetworking.com/kbase/ ... chine.html
Norrec
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2017 10:42

Re: Paramétrage Windows Update via registre

Message par Norrec »

J'ai le message d'erreur "expression non valide" depuis un shell, c'est la commande qui n'est pas écrite de la bonne façon tu crois ?
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: Paramétrage Windows Update via registre

Message par barnabe0057 »

Non la commande est bien écrite.

Tu utilises quoi comme machine virtuelle ? Virtual Box ?
Norrec
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2017 10:42

Re: Paramétrage Windows Update via registre

Message par Norrec »

Non on fonctionne avec des Hyper-V, pas des VrtualBox !

Cond normalement quand je tape wmic bios get serialnumber, version dans un powershell je devrais avoir un truc qui remonte en me disant si c'est une VM ou un physique. J'aimerais inclure ça à mon script en .bat pour que lorsqu'il s'exécute, il comprenne qu'il est sur une VM, et dans ce cas qu'il planifie un reboot à disons 3h du matin. Et dans le cas contraire (si ce n'est PAS une VM) qu'il planifie le reboot à 4h15.

EN gros voilà le plan ! Et ce script sera diffusé sur tous les serveurs de notre parc donc il doit marcher sur tous les OS possibles.
Répondre