OVH Cloud OVH Cloud

ADMT Migrations des users et pwd avec PES.

11 réponses
Avatar
Robby
Bonjour,

Et voila j'approche de la fin, il y a encore une petite chose à voir.
Pourquoi quand je migre mes motsde passe avec PES, le compte user que je
recupere sur la cible à de cocher
"L'utilisateur devra changer de mot de passe"
Alors que sur la source je ne l'ai pas de cocher.
Donc de se fait, à chaque ouverture de session j'ai le msg; mot de passe
expiré..

Merci d'avance,

Robby

1 réponse

1 2
Avatar
Robby
Par contre ceci fonctionne mais uniquement pour l'option: DONT_EXPIRE_PASSWD
l'autre
option PASSWD_CANT_CHANGE ne fonctionne pas. Mais j'ai vu avec le logiciel
admodify que dans le fichier xml qui renvoi à l'interieur j'ai une erreur ID
de securité, tu peux voir le poste sur Mathieu.
'Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Const ADS_UF_PASSWD_CANT_CHANGE = &H0040
'Set objUser = GetObject _
' ("LDAP://cn=als,ou=info,dcûru,dc=dyndns,dc=org")
'intUAC = objUser.Get("userAccountControl")
Set objUser = GetObject _
("LDAP://cn=als,ou=info,dcûru,dc=dyndns,dc=org")
intUAC = objUser.Get("userAccountControl")
'If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
' Wscript.Echo "Already enabled"
'Else
' objUser.Put "userAccountControl", intUAC XOR _
' ADS_UF_DONT_EXPIRE_PASSWD
' objUser.SetInfo
' WScript.Echo "Password never expires is now enabled"
If ADS_UF_PASSWD_CANT_CHANGE AND intuac Then
Wscript.Echo "Already enabled"
else
objUser.Put "userAccountControl", intUAC XOR _
ADS_UF_PASSWD_CANT_CHANGE
' objPasswordNoChangeFlag = objUser.UserFlags XOR
ADS_UF_PASSWD_CANT_CHANGE
' objUser.Put "userFlags", objPasswordNoChangeFlag
objUser.SetInfo
WScript.Echo "Password cant change is now enabled"
End If
'end if

"Robby" a écrit dans le message de news:
%
Merci Jonathan,
Ok mais ca j'avais compris, je l'ai deja fait et ca ne marche pas.
Les script s'execute mais ne modifie rien dans AD.

"Jonathan BISMUTH" a écrit dans le message de news:

Ok, je ne connaissais pas ton niveau en scripting, désolé :(
appelle le active.vbs (ou tout ce que tu veux.vbs en fait). Tu peux le
lancer directement

- dans la ligne : "Set oContainer =
GetObject("LDAP://serveur-à-cibler/dc=domain,dc=ext")"
modifie : "serveur-à-cibler" par le nom de ton DC
dc=domain par dc=première partie de ton nom de domaine
dc=ext par dc= extension du domaine

par exemple :
- soit un serveur DC1 et un domaine toto.lan, la ligne serait Set
oContainer = GetObject("LDAP://DC1/dc=toto,dc=lan")
- soit un serveur DC2 et un domaine france.toto.lan, la ligne serait Set
oContainer = GetObject("LDAP://DC2/dc=france,dc=toto,dc=lan")


--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net
"Robby" a écrit dans le message de
news:
J'ai essaye en ligne de commande:
wscript nomdufichier.vbs, j'ai bien la reponse "Utilisateurs convertis
avec succès"
mais dans l'AD, aucune modifs.
En plus je dois mettre en commantaire les lignes :
'Case "user"
' objUser.AccountDisabled = FALSE
' objUser.SetInfo
et vice-versa pour :
'Case "organizationalUnit" , "container"
' ConvertUsers(oObj)
si non ca plante, par contre quand je laisse l'une ou l'autre le script
se termine correctment, mais pas de modifs dans l'ad.
Encore merci, Robby.

"Robby" a écrit dans le message de
news: ubZyEz$
Merci Jonathan,

Je l'execute comment ?
Dois je créer un fichier ? si oui quel extension ?
Je le place au niveau de l'OU ? si oui comment ? dois je créer une GPO
?
va t-il fonctionner pour tous les utilisateurs ?
Comme tu peux le lire, je suis novice.
Merci d'avance,
Robby

"Jonathan BISMUTH" a écrit dans le message de
news: uiWH8o$
Re,

jette par exemple un coup d'oeil à ça (inspiré de ceci :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/users/default.mspx?mfr=true) :

'### Début script ###
Set oContainer = GetObject("LDAP://serveur-à-cibler/dc=domain,dc=ext")

ConvertUsers(oContainer)
Set oContainer = Nothing

MsgBox "Utilisateurs convertis avec succès"

WScript.Quit

Sub ConvertUsers(oTopLevelContainer)
Dim oObj

For Each oObj in oTopLevelContainer

Select Case oObj.Class
' Si c'est un objet User, on l'active
Case "user"
objUser.AccountDisabled = FALSE
objUser.SetInfo

' Si c'est une OU, on boucle jusqu'à atteindre des objets Users
Case "organizationalUnit" , "container"
ConvertUsers(oObj)
End select

Next
End Sub

'### Fin script ###
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net
"Robby" a écrit dans le message de
news: eOTWu4%
Bonjour Jonathan,
Y a pas de mal pour le délai, mais concernant le script pourrais-tu
m'en dire un peu plus ?
Voir un exemple ?
Merci d'avance,
Robby.
"Jonathan BISMUTH" a écrit dans le message de
news: %23CqB%23K%
Bonjour Robby,

désolé pour le délais à répondre, ces derniers jours ont été très
pénibles...
Je vois que tu arrive à la fin, félicitations :)

Concernant ta question, c'est une option builtin de ADMT.
Je te suggère de passer un petit script sur ton OU de migration pour
décocher la case.

Cordialement,
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net
"Robby" a écrit dans le message
de news:
Bonjour,

Et voila j'approche de la fin, il y a encore une petite chose à
voir.
Pourquoi quand je migre mes motsde passe avec PES, le compte user
que je recupere sur la cible à de cocher
"L'utilisateur devra changer de mot de passe"
Alors que sur la source je ne l'ai pas de cocher.
Donc de se fait, à chaque ouverture de session j'ai le msg; mot de
passe expiré..

Merci d'avance,

Robby































1 2