Script VBscript qui ne fonctionne pas

Script VBscript qui ne fonctionne pas - Divers - Programmation

Marsh Posté le 02-07-2007 à 09:52:27    

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 :
  1. Dim i  'Compteur
  2. Dim Manager 'Nom du responsable
  3. Dim MyDate 'Date d'aujourd'hui
  4. Dim NbrC              'Nom de caracteres
  5. 'Constante
  6. Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
  7. Const Jrs = 31     'Nombre de jours avant fin de contrat
  8. MyDate = Date     'Date d'aujourd'hui
  9. 'Constantes
  10. strContainer = "OU=Utilisateurs,OU=SITE-CAOSRV,"
  11. Set objRootDSE = GetObject("LDAP://RootDSE" )
  12. strDNSDomain = objRootDSE.Get("DefaultNamingContext" )
  13. strContainer = strContainer & strDNSDomain
  14. set objOU = GetObject("LDAP://" & strContainer )
  15. For Each objUser In objOU
  16. intUAC = objUser.Get("userAccountControl" )
  17. Caract = ""
  18. Manager = ""
  19. i = 0
  20. objName = objUser.Get("Name" )
  21. dtmAccountExpiration = objUser.AccountExpirationDate
  22. If ADS_UF_DONT_EXPIRE_PASSWD Then 'AND intUAC Then
  23.  'WScript.Echo "Espion1: "
  24.  'WScript.Echo "Espion2: " & ADS_UF_DONT_EXPIRE_PASSWD  & " : " & intUAC
  25.  'Wscript.Echo "Espion 4 : " & objName & "|" & objUser.AccountExpirationDate
  26.  If Err.Number = -2147467259 Or dtmAccountExpiration = "01/01/1970" Or left(dtmAccountExpiration,10) = "01/01/1601" Then
  27.      'WScript.Echo "Espion3 : " & objName & left(dtmAccountExpiration,10)
  28.  Else
  29.      If DateDiff("d", Now, objUser.AccountExpirationDate) < Jrs Then
  30.       NbrC = Len(objUser.manager)
  31.   'Wscript.echo "Espion 1 : " & NbrC
  32.   If NbrC > 0 then
  33.    Temp_Manager = Mid(objUser.manager,4,NbrC)
  34.    Do While Caract <> ","
  35.     i = i + 1
  36.     Caract = Mid(Temp_Manager,i,1)
  37.     Manager = Manager & Caract
  38.    Loop
  39.    Manager = Mid(Manager,1,len(Manager)-1)
  40.    Wscript.Echo "Espion 5 : " & Manager
  41.    AddressM Manager
  42.    Wscript.Echo "Espion 9 : " & Manage
  43.   End If
  44.       Wscript.Echo objName & "|" & objUser.AccountExpirationDate & "|" & DateDiff("d", Now, objUser.AccountExpirationDate) & "|" & Manage
  45.      Else
  46.   'Wscript.Echo objName & "|" & objUser.AccountExpirationDate
  47.      End If
  48.  End If
  49. End If
  50. Next
  51. 'Fonction permettant de cree une adresse e-mail
  52. 'a partir du nom de la personne.
  53. Function AddressM(Manager)
  54. Manage = ""
  55. NbrC = Len (Manager)
  56. 'Wscript.Echo "Espion 6 : " & NbrC
  57. For i = 1 To Nbrc
  58.  Caract = Mid(Manager,i, 1)
  59.  'Wscript.Echo "Caract : " & Caract
  60.  If Caract = " " Then
  61.   Caract = "."
  62.   'Wscript.Echo Caract & "Espace"
  63.  End If
  64.  Manage = Manage & Caract
  65. Next
  66. 'Wscript.Echo "Espion 7 : " & Manage
  67. Manage = Manage & "@adresse.fr"
  68. Wscript.Echo "Espion 8 : " & Manage
  69. End Function


 
Karon


Message édité par karon127 le 03-07-2007 à 13:11:59

---------------
Cordialement,
Reply

Marsh Posté le 02-07-2007 à 09:52:27   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed