-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" a écrit dans
le message de
news: 051101c50e85$6de43a00$
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" <anonymous@discussions.microsoft.com> a écrit dans
le message de
news: 051101c50e85$6de43a00$a401280a@phx.gbl...
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" a écrit dans
le message de
news: 051101c50e85$6de43a00$
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" a écrit dans
le message de
news: 051101c50e85$6de43a00$
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" <anonymous@discussions.microsoft.com> a écrit dans
le message de
news: 051101c50e85$6de43a00$a401280a@phx.gbl...
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
pour l'impossibilité de changer le mot de passe, ceci
devrait marcher (à
adapter un poil):
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
"Nico" a écrit dans
le message de
news: 051101c50e85$6de43a00$
Bonjour à tous,
J'ai un soucis avec un script pour créer des utilisateurs
sous active directory. Enfin ce n'est pas pour la création
proprement dite, mais plutot pour la modification des
options du compte.
Je souhaiterais que le mot de passe n'expire jamais (ça
c'est bon cela fonctionne) et que l'utilisateur ne puisse
pas changer de mot de passe (mon problème est là).
Est ce que quelqu'un peut m'aider?
voilà mon script:
wscript.echo "Le script commence. Cliquez OK pour
continuer."
DIM arrRecord
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur '
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
xOr ADS_UF_PASSWD_CANT_CHANGE
adsUser.Put "userAccountControl", userActCtrl
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
wscript.echo "Utilisateurs créés.", Chr(10),Chr
(10),"Cliquez pour finir."
.
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabled=False
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "\servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "\servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU & Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
a écrit dans le
message de news:
058e01c50e90$196d4c40$
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de créationet modification user comme ce que tu désire faire, plus
ajout dans une OUet un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changementde password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamaisobjUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
<anonymous@discussions.microsoft.com> a écrit dans le
message de news:
058e01c50e90$196d4c40$a401280a@phx.gbl...
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabled=False
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "\servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
a écrit dans le
message de news:
058e01c50e90$196d4c40$
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de créationet modification user comme ce que tu désire faire, plus
ajout dans une OUet un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changementde password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamaisobjUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
a écrit dans le
message de news:
058e01c50e90$196d4c40$
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de créationet modification user comme ce que tu désire faire, plus
ajout dans une OUet un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changementde password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamaisobjUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
<anonymous@discussions.microsoft.com> a écrit dans le
message de news:
058e01c50e90$196d4c40$a401280a@phx.gbl...
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing
-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de création
et modification user comme ce que tu désire faire, plus
ajout dans une OU
et un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changement
de password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamais
objUser.Put "profilePath", "\servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
crois moi ou pas, mais chez moi, la combinaison des deux
fonctionne.
y'a pas un problème d'espace qui serait pas passé par
mail?
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
a écrit dans le
message de news:
058e01c50e90$196d4c40$
Voila mon script avec ton bout de script:
DIM arrRecord
Const ForReading = 1
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Dim Nom, Prenom, CodeUtilisateur
Dim NomScript, userActCtrl
Nom="AA": Prenom="AAAAAA": CodeUtilisateur="AA_AAAAAA"
NomScript="mon_script.bat"
Set Root = GetObject("LDAP://RootDSE")
DomainPath = Root.Get("DefaultNamingContext")
Set Domain = GetObject("LDAP://" & DomainPath)
Set ou_HR = GetObject("LDAP://CN=Users, " & DomainPath)
Set adsUser = ou_HR.Create("user", "CN=" & Nom & " " &
Prenom)
adsUser.Put "sn", Nom
adsUser.Put "GivenName", Prenom
adsUser.Put "Name", Nom & " " & Prenom
adsUser.Put "displayName", Nom & " " & Prenom
adsUser.Put "sAMAccountName", CodeUtilisateur
adsUser.Put "userPrincipalName", CodeUtilisateur
adsUser.Put "scriptPath", NomScript
adsUser.SetInfo
adsUser.SetPassword "0123456"
adsUser.SetInfo
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### Verouillage du changement de mot de passe
Dim objSD, objDACL, arrTrustees, objACE
Set objSD = adsUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
adsUser.Put "nTSecurityDescriptor", objSD
adsUser.SetInfo
userActCtrl = adsUser.Get("userAccountControl")
userActCtrl = userActCtrl xOr ADS_UF_DONT_EXPIRE_PASSWD
adsUser.Put "userAccountControl", userActCtrl
adsUser.SetInfo
adsUser.AccountDisabled = False
adsUser.SetInfo
Set adsUser = Nothing-----Message d'origine-----
il faudrait que je vois ton script.
Pour faire simple, voici une version light de mon script
perso de créationet modification user comme ce que tu désire faire, plus
ajout dans une OUet un groupe spécifiques
'#### Constantes pasword
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-
00aa0040529b}"Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
'### constantes groupe, OU et domaines
'Const Group= "CN=nom_groupe,"
'Const GrOU = "OU=ou_du_groupe,"
'Const OU = "OU=OU_où_creer__l_utilisateur,"
'Const Domain = "DC=domaine"
'#### Création de l'utilisateur
Set objOU = GetObject("LDAP://"& OU & Domain)
Set objUser = objOU.Create("user","cn="&user)
objUser.Put "sAMAccountName",""&user
objUser.Put "UserPrincipalName",""&user
objUser.SetInfo
'### Modification de la date d'expiration du mot de passe
et du changementde password au logon
objUser.AccountDisabledúlse
objUser.AccountExpirationDate = "01/01/1970"
objUser.Setinfo
objUser.Put "pwdLastSet", -1
'### verouillage du changement de mot de passe
Set objSD = objUser.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authorityself", "EVERYONE")
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser.SetInfo
'### ajout du profil utilisateur et du flag de mot de
passe ne change jamaisobjUser.Put "profilePath", "servershare"&user
flags = objUser.Get("UserAccountControl")
objUser.Put "userAccountControl", 65536
objUser.SetInfo
'### ajout à un groupe spécifié en constante
Set objGroup = GetObject("LDAP://"& Group & GrOU &
Domain)
objGroup.Add objUser.ADSPath
objGroup.Setinfo
Msgbox "utilisateur créé avec succès"
--
.
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid05144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid=305144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid05144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid05144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid05144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
Bon courage pour la recherche, pour ma part, ça marche
correctement sur du
2003, vérifie si pour 2000 on a pas d'autre manip à faire.
objUser.Put "userAccountControl", 65536 : me sert pour
gérer les flags qui
m'interessent sur l'utilisateur,
plus d'infos :
http://support.microsoft.com/default.aspx?
kbid05144&product=winsvr2003
@+
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
peut être oui,
car effectivement, il ne vient pas directement avec 2000,
il faut installer
le SDK ADSI
d'autres sites le proposent directement, mais je ne sais
pas si c'est légal,
merci de supprimer ce poste s'il n'a pas lieu d'être
http://dev.coadmin.dk/Resources/ADSI%20SDK%205%
20HTML/rtk.htm#adssecurity
A nôter qu eje suis sur du 2003, ne dispose pas de la DLL
sur le serveur et
que celà fonctonne quand même (nouvelle dll en 2003?)
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
peut être oui,
car effectivement, il ne vient pas directement avec 2000,
il faut installer
le SDK ADSI
d'autres sites le proposent directement, mais je ne sais
pas si c'est légal,
merci de supprimer ce poste s'il n'a pas lieu d'être
http://dev.coadmin.dk/Resources/ADSI%20SDK%205%
20HTML/rtk.htm#adssecurity
A nôter qu eje suis sur du 2003, ne dispose pas de la DLL
sur le serveur et
que celà fonctonne quand même (nouvelle dll en 2003?)
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter
-----Message d'origine-----
peut être oui,
car effectivement, il ne vient pas directement avec 2000,
il faut installer
le SDK ADSI
d'autres sites le proposent directement, mais je ne sais
pas si c'est légal,
merci de supprimer ce poste s'il n'a pas lieu d'être
http://dev.coadmin.dk/Resources/ADSI%20SDK%205%
20HTML/rtk.htm#adssecurity
A nôter qu eje suis sur du 2003, ne dispose pas de la DLL
sur le serveur et
que celà fonctonne quand même (nouvelle dll en 2003?)
--
Jonathan BISMUTH
MCSE (W2K) 2272252
Beta ID 570978
WSH/Batch Scripter
http://www.supinfo-projects.com/fr/authors/?a=Cyber_Hunter