j'utilise de plus en plus AutoIt pour simplifier mon administration systèmes.
petit merci en passant au créateur de l'UDF Services.au3
j'en use et abuse
bon voilà ma demande : quelqu'un saurait-il convertir le script joint en autoIT ?
en fait il s'agirait de pouvoir créer une GPO, puis dans un deuxième temps de la linker et d'affecter des droits full à un groupe sur celle-ci
à ma courte honte, je n'en suis pas encore capable
Global $szGPOName, $szDomainName
; Gestion des arguments de la ligne de commande.
If $CmdLine[0] = 1 Then ; Si un seul argument, on sous entend que c'est la GPO.
$szGPOName = $CmdLine[1] ; On stock la GPO dans $szGPOName
$szDomainName = @LogonDomain ; On prend le nom de domaine en cours
ElseIf $CmdLine[0] = 2 Then ; Si deux arguments, alors on test s'il y à bien l'argument Domain.
$szGPOName = $CmdLine[1] ; On stock la GPO dans $szGPOName
If StringInStr($CmdLine[2], "/Domain:") Then ; On vérifie qu'il y a l'argument /Domain: dans le deuxième paramètre
$szDomainName = StringTrimLeft($CmdLine[2], 8) ; on supprime les 8 caractère de gauche (/Domain:) et
; on stock le reste dans $szDomainName
Else
_CommandLineArguments() ; Sinon on affiche la syntaxe de la ligne de commande et on sort
Exit(0)
EndIf
Else
_CommandLineArguments() ; Si pas d'argument, on affiche la syntaxe de la ligne de commande et on sort
Exit(0)
EndIf
Global $GPM = ObjCreate("GPMgmt.GPM")
Global $Constants = $GPM.GetConstants()
Global $GPMDomain = $GPM.GetDomain($szDomainName, "", $Constants.UseAnyDC)
Global $GPMGPO = $GPMDomain.CreateGPO()
If @error Then
MsgBox(16, "Erreur", "Erreur N°" & @error & "lors de la création de la GPO")
; ConsoleWrite("Erreur N°" & @error) ; à utiliser au lieu de la MsgBox pour un script auto
Exit(@error)
EndIf
$GPMGPO.DisplayName = $szGPOName
If @error Then
$GPMGPO.Delete()
MsgBox(16, "Erreur", "Erreur N°" & @error & "lors de la création de la GPO")
; ConsoleWrite("Erreur N°" & @error) ; à utiliser au lieu de la MsgBox pour un script auto
Exit(@error)
EndIf
MsgBox(32, "Création de GPO", "La GPO " & $szGPOName & " a été crée.")
; ConsoleWrite("GPO " & $szGPOName & " crée.") ; à utiliser au lieu de la MsgBox pour un script auto
Exit(1)
; Boite de message pour afficher la syntaxe de la ligne de commande
Func _CommandLineArguments()
MsgBox(16, "Erreur", "Utilisation de la ligne de commande :" & @CRLF & @CRLF & _
"NomDeLaGPO" & @TAB & "Le nom de la GPO à créer (paramètre obligatoire)" & @CRLF & _
"Domain" & @TAB & @TAB & "Nom DNS du domaine (Paramètre optionnel)" & @CRLF & @CRLF & _
"Exemple :" & @CRLF & _
@ScriptName & "NomDeLaGPO /Domain:Testdomain.mycompany.com")
EndFunc
je vais regarder tout ça et essayer de comprendre comment ça marche pour pouvoir utiliser tout ce que tu as mis et en faire d'autres fonctions de manipulation des GPO.
je vous tiens au courant et posterai dès que j'aurais un peu avancé, avec les scripts et fonctions que j'aurais réussi à faire.
encore merci beaucoup, j'apprécie le détail des commentaires, ça va me permettre de comprendre comment ça fonctionne !