|..] Script configuration des clefs de registre pour clients WSUS

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Aleas
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 05 févr. 2020 17:16
Status : Hors ligne

|..] Script configuration des clefs de registre pour clients WSUS

#1

Message par Aleas »

Bonjour,

Suite à la mise en place d'n serveur WSUS j'aimerai automatiser la configuration des clients.

L'architecture est la suivante :

Un serveur maitre
-11 serveurs relai sur chaque sites qui deservent entre 50 et 400 clients chacuns.

Script
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_48x48_256.ico
#AutoIt3Wrapper_Outfile=..\wsus.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

$WSUSServerURL = "adresse_du_serveur"
Global $WindowsUpdateKey = "HKLM:\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate"
Global $TergetGroup = "nom_du_groupe"



$Reg_WUServer = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer")
$Reg_WUStatusServer = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUStatusServer")
$Reg_TargetGroup = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","TargetGroup")

RegWrite("HKLM:\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer","REG_SZ","$WSUSServerURL")
RegWrite("HKLM:\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUStatusServer","REG_SZ","$WSUSServerURL")
RegWrite("HKLM:\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","TargetGroup","REG_SZ","$TergetGroup")

Pour l'instant c'est une ébauche car mes connaissance en AutoIt sont limités, c'est mon premier script.
A terme j'aimerai que le scrip vérifie les clef
-Si elles sont bonne qu'il ne fasse aucune modif
-Sinon quil les modifies en attribuant les variables $TergetGroup et $WSUSServerURL

Afin de de répartir les clients dans les bons groupes il faudrait qu'il detecte l'os (soit win7 soit win10) et dans l'idéal une boucle pourrait detecter le réseau dans lequel le script est exécuté afin d'attribuer la bonne adresse à $WSUSServerURL.

En espérant que mon poste est bien claire je vous remercie par avance de prendre le temps de me répondre.

Bonne soirée

Aleas
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 05 févr. 2020 17:16
Status : Hors ligne

Re: |..] Script configuration des clefs de registre pour clients WSUS

#2

Message par Aleas »

Update:

Voicie ma nouvelle version du script, le regwrite fonctionne bien cependant il me faut maintenant pouvoir executer le script en tant qu'admin mais l RunAs n'est pas fonctionnel.
Suite à des test la script reconnait bien si il est exécuté en tant qu'admin mais si ce n'est pas le cas il ne fait pas d'élévation de privilège.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_48x48_256.ico
#AutoIt3Wrapper_Outfile=..\wsus.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
$WSUSServerURL = "url"
Global $WindowsUpdateKey = "HKLM:\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate"
Global $TergetGroup = "group"

$strAdminNom = "username"
$strAdminPasswd = "mdp"
$strCommande = "test.exe"

If IsAdmin() Then
        MsgBox(0,"Attention","11")
                $Reg_WUServer = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer")
                if ($Reg_WUServer <> $WSUSServerURL) Then
                        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer","REG_SZ",$WSUSServerURL)
                        MsgBox(1,"titi","ok1")
                EndIf
Else
    MsgBox(0, "OK", "00")
        RunAs($strAdminNom, @ComputerName, $strAdminPasswd, 0, $strCommande, @ScriptDir)

                $Reg_WUServer = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer")
                if ($Reg_WUServer <> $WSUSServerURL) Then
                        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUServer","REG_SZ",$WSUSServerURL)
                        MsgBox(1,"titi","ok2")
                EndIf

        $Reg_WUStatusServer = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","WUStatusServer")
        $Reg_TargetGroup = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate","TargetGroup")
        #MsgBox(1,"titi",$Reg_WUServer)
        #MsgBox(1,"titi",$Reg_WUStatusServer)
        #MsgBox(1,"titi",$Reg_TargetGroup)



Exit

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11497
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: |..] Script configuration des clefs de registre pour clients WSUS

#3

Message par Tlem »

Bonjour.
Essayez #RequireAdmin en début de script.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Répondre