Je confirme le bug sur les dernières versions
opsi-winst installed success none 4.11.2.3-1
le log me donne
Code: Alles auswählen
[5] [14/02/2012 22:02:13] message Installation de owm-comptes-locaux en cours ...
[5] [14/02/2012 22:02:13]
[5] [14/02/2012 22:02:13] Set $UserName$ = GetProductProperty("Local_Login", "secours")
[6] [14/02/2012 22:02:13] The value of the variable "$UserName$" is now: "secours"
[5] [14/02/2012 22:02:13]
[5] [14/02/2012 22:02:13] Set $UserPassWord$ = GetProductProperty("Local_PassWord", "help!")
[6] [14/02/2012 22:02:13] The value of the variable "$UserPassWord$" is now: "help!"
[5] [14/02/2012 22:02:13]
[5] [14/02/2012 22:02:13] Set $UserGroup$ = GetProductProperty("Local_UserGroup", "Utilisateurs")
[6] [14/02/2012 22:02:13] The value of the variable "$UserGroup$" is now: "Utilisateurs"
[5] [14/02/2012 22:02:13]
[5] [14/02/2012 22:02:13] Execution of Execwith_Autoit
[6] [14/02/2012 22:02:13] c:\opsi.org\tmp\_winstbat_1.bat saved back
[6] [14/02/2012 22:02:13] Executing "autoit3.exe" "c:\opsi.org\tmp\_winstbat_1.bat" help!
[6] [14/02/2012 22:02:19]
[6] [14/02/2012 22:02:19] output:
[6] [14/02/2012 22:02:19] --------------
[6] [14/02/2012 22:02:19]
[6] [14/02/2012 22:02:19] Delete "c:\opsi.org\tmp\_winstbat_*"
[6] [14/02/2012 22:02:19] Search "c:\opsi.org\tmp\"
[6] [14/02/2012 22:02:19] File "c:\opsi.org\tmp\_winstbat_1.bat"
[6] [14/02/2012 22:02:19] The file has been deleted
[1] [14/02/2012 22:02:19] ___________________
avec ce fichier setup.ins
Code: Alles auswählen
[Actions]
Message "Installation de owm-comptes-locaux en cours ..."
DefVar $UserName$
Set $UserName$ = GetProductProperty("Local_Login", "secours")
DefVar $UserPassWord$
Set $UserPassWord$ = GetProductProperty("Local_PassWord", "help!")
DefVar $UserGroup$
Set $UserGroup$ = GetProductProperty("Local_UserGroup", "Utilisateurs")
Execwith_Autoit "autoit3.exe" PASS $UserPassWord$ $UserName$ $UserGroup$
;WINST /LetThemGo
[ExecWith_Autoit]
; Init objects
Const $ADS_UF_DONT_EXPIRE_PASSWD = 0X10000
Const $ADS_UF_PASSWD_CANT_CHANGE = 0X40
$UserName = $CmdLine[1]
$Password = $CmdLine[2]
$UserGroup = $CmdLine[3]
$strComputer = @ComputerName
$Description = "Utilisateur de secours"
; Check if account exists .. if not create it
$objUser = ObjGet("WinNT://" & $strComputer & "/" & $UserName)
If @Error then
$colAccounts = ObjGet("WinNT://" & $strComputer & "")
$objUser = $colAccounts.Create("user", $UserName)
$objUser.SetPassword ($Password)
$objUser.Put ("Fullname", $Description)
$objUser.Put ("Description", $Description)
$objUser.SetInfo
EndIf
; Changement du mot de passe
$objUser = ObjGet("WinNT://" & @ComputerName & "/" & $UserName)
$objUser.SetPassword($Password)
$objUser.SetInfo
; Lit les reglages courant et BitOR pour s'assurer que "Le mot de passe n'expire jamais est on"
$oldFlags = $objUser.Get("UserFlags")
$newFlags = BitOR($oldFlags,$ADS_UF_DONT_EXPIRE_PASSWD)
$objUser.Put ("UserFlags", $newFlags) ;expire the password
$objUser.SetInfo
;Ajout l'utilisateur a un groupe
; cette instruction passe pas ... group users ? administrators ?
MsgBox(0,"debug", $UserName & " " & $Password & " " & $UserGroup)
$objGroup = ObjGet("WinNT://" & $strComputer & "/" & $UserGroup",group")
$objGroup.Add($objUser.ADsPath)
;lit les réglages et s'assure que le mot de passe ne peut pas être changé
$oldFlags = $objUser.Get("UserFlags")
$newFlags = BitOR($oldFlags,$ADS_UF_PASSWD_CANT_CHANGE)
$objUser.Put ("UserFlags", $newFlags) ;expire the password
$objUser.SetInfo
Dois-je poster ailleurs ?
Nicolas