Page 1 sur 1

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

Posté : mer. 05 févr. 2020 17:30
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

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

Posté : jeu. 06 févr. 2020 11:52
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

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

Posté : ven. 07 févr. 2020 11:18
par Tlem
Bonjour.
Essayez #RequireAdmin en début de script.

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

Posté : jeu. 27 févr. 2020 13:39
par Aleas
Après plusieurs essaies je n'ai toujours pas réussit à obtenir le résultat souhaité.
Je repars donc d'une base plus simple, je souhaite:
- automatiser la connection en tant qu'administrateur afin d'exécuter le script avec une élévation des droits (RunAsWait)
- détécter l'OS
- éxecuter un fichier .reg
- activer la fonctionalité windowsupdate

Je n'arrive pas à exécuter le fichier registre.

Merci pour vos réponses.

;Variables:
$exreg = @WindowsDir & "\regedit.exe /s " & @ScriptDir & "\update_w10.reg"
$OS = @OSVersion
$ip1=@IPAddress1
$User = "useradmin"
$cmd = "net user "&$admin &" "&$Password
$domaine ="nomdomaine"

;Connexion compte admin:
Func _RunAsAdmin($cmd)
   Local $iCheck = "True"
   RunAs($admin, @ComputerName, $Password, 0, @ComSpec & " /c  echo test du mot de passe...", @TempDir,@SW_HIDE)
   If @error Then $iCheck = "False"
   If $iCheck = "False" Then RunAs($admin , @ComputerName, $Password, 0, $cmd)
EndFunc

_RunAsAdmin($cmd)


;Test de l'os et selection du .reg
MsgBox(0, "OS", @OSVersion)
if ( $OS = "WIN_10") Then
   $exreg = @WindowsDir & "\regedit.exe /s " & @ScriptDir & "\update_w10.reg"
   RunWait("regedit.exe /s" & @ScriptDir & "\update_w10.reg", "", @SW_HIDE)
EndIf

if ( $OS = "WIN_7") Then
   $exreg = @WindowsDir & "\regedit.exe /s " & @ScriptDir & "\update_w7.reg"
   RunWait("regedit.exe /s" & @ScriptDir & "\update_w7.reg", "", @SW_HIDE)
EndIf

RunAsWait ($admin, $domaine, $Password, 0, $exreg)

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

Posté : jeu. 27 févr. 2020 19:02
par jguinch
Tu peux essayer de mettre _WinAPI_Wow64EnableWow64FsRedirection(false) en début de script (mettre l'include qui va avec)

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

Posté : jeu. 05 mars 2020 15:03
par Aleas
Je pense être au bout, seulement lorsque j'éxecute le fichier .reg comportant les clef à modifier la boite de connexion apparait et il faudrait que je parvienne à me connecter automatiquement.
J'ai tenté un runas mais rien n'y fait.

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

Posté : jeu. 05 mars 2020 15:10
par Tlem
Étant donné que votre script doit avoir les droits admin pour effectuer les opérations qu'il doit faire, lancez le avec l'option que je vous ai indiqué précédemment, comme cela la fonction RunAsAdmin() sera inutile. ^^