karon127 | Bonjour,
J'ai créé un script qui me donne la liste des utilisateurs qui arrivent en fin de validité de leur compte. Cela permet de prévenir les responsables des prestataires. Mais voilà, l'utilisation de la fonction AddressM ne fonctionne pas au premier compte trouvé mais à partir du second tout est OK.
Voici le script :
Code :
- Dim i 'Compteur
- Dim Manager 'Nom du responsable
- Dim MyDate 'Date d'aujourd'hui
- Dim NbrC 'Nom de caracteres
- 'Constante
- Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
- Const Jrs = 31 'Nombre de jours avant fin de contrat
- MyDate = Date 'Date d'aujourd'hui
- 'Constantes
- strContainer = "OU=Utilisateurs,OU=SITE-CAOSRV,"
- Set objRootDSE = GetObject("LDAP://RootDSE" )
- strDNSDomain = objRootDSE.Get("DefaultNamingContext" )
- strContainer = strContainer & strDNSDomain
- set objOU = GetObject("LDAP://" & strContainer )
- For Each objUser In objOU
- intUAC = objUser.Get("userAccountControl" )
- Caract = ""
- Manager = ""
- i = 0
- objName = objUser.Get("Name" )
- dtmAccountExpiration = objUser.AccountExpirationDate
- If ADS_UF_DONT_EXPIRE_PASSWD Then 'AND intUAC Then
- 'WScript.Echo "Espion1: "
- 'WScript.Echo "Espion2: " & ADS_UF_DONT_EXPIRE_PASSWD & " : " & intUAC
- 'Wscript.Echo "Espion 4 : " & objName & "|" & objUser.AccountExpirationDate
- If Err.Number = -2147467259 Or dtmAccountExpiration = "01/01/1970" Or left(dtmAccountExpiration,10) = "01/01/1601" Then
- 'WScript.Echo "Espion3 : " & objName & left(dtmAccountExpiration,10)
- Else
- If DateDiff("d", Now, objUser.AccountExpirationDate) < Jrs Then
- NbrC = Len(objUser.manager)
- 'Wscript.echo "Espion 1 : " & NbrC
- If NbrC > 0 then
- Temp_Manager = Mid(objUser.manager,4,NbrC)
- Do While Caract <> ","
- i = i + 1
- Caract = Mid(Temp_Manager,i,1)
- Manager = Manager & Caract
- Loop
- Manager = Mid(Manager,1,len(Manager)-1)
- Wscript.Echo "Espion 5 : " & Manager
- AddressM Manager
- Wscript.Echo "Espion 9 : " & Manage
- End If
- Wscript.Echo objName & "|" & objUser.AccountExpirationDate & "|" & DateDiff("d", Now, objUser.AccountExpirationDate) & "|" & Manage
- Else
- 'Wscript.Echo objName & "|" & objUser.AccountExpirationDate
- End If
- End If
- End If
- Next
- 'Fonction permettant de cree une adresse e-mail
- 'a partir du nom de la personne.
- Function AddressM(Manager)
- Manage = ""
- NbrC = Len (Manager)
- 'Wscript.Echo "Espion 6 : " & NbrC
- For i = 1 To Nbrc
- Caract = Mid(Manager,i, 1)
- 'Wscript.Echo "Caract : " & Caract
- If Caract = " " Then
- Caract = "."
- 'Wscript.Echo Caract & "Espace"
- End If
- Manage = Manage & Caract
- Next
- 'Wscript.Echo "Espion 7 : " & Manage
- Manage = Manage & "@adresse.fr"
- Wscript.Echo "Espion 8 : " & Manage
- End Function
|
Karon Message édité par karon127 le 03-07-2007 à 13:11:59 ---------------
Cordialement,
|