locked
cscript wscript chkusers.vbs RRS feed

  • Question

  • Bonjour,
    Voilà je suis à la recherche d'un script permettant de connaitre les personnes (de mon active directory)  qui ne se sont pas connectées dans un interval de temps.
    Par exemple , du 1 er mai au 20 mai quel sont les personnes non logué.
    Je me suis renseigné sur le net et j'ai trouvé un moyen avec la commande "cscript".
    Mais je ne comprends pas bien son fonctionnement.
    Voici le script :

    Cscript CHKUSERS.VBS /A:WinNT://YourDomainName /P:FullName;Description
    /C:"((LastLogin:>4/3/07 or LastLogin:<8/4/07) and AccountDisabled:=False)"

    Ce script me conviendrait a merveille mais je n arrive pas a le faire fonctionner.
    (http://www.petri.co.il/list_all_users_and_groups_in_domain.htm)

    Pourriez vous m en dire plus ?
    Ou bien me dire ou est le probleme
    Merci par avance.
    dimanche 20 mai 2007 19:29

Toutes les réponses

  • Re,

    J'ai recuperer ce script vb.

     

    Sub Listage_Comptes()
    On Error Resume Next

    Dim objCon, strQuery, strADSPath, objUser 'Déclaration des variables
    Dim itmX As ListItem, Interm As String, Date_Contrôle As String
    Dim Ecart_Date


    strQuery = "SELECT cn, adspath FROM 'LDAP://ou=Users,ou=France,ou=Regions,dc=eu,dc=global,dc=ad' WHERE objectclass='User' AND objectcategory='Person'" 'Définition de la requête à exécuter

    Set objrecset = objCon.Execute(strQuery) 'Exécution de la requête

    Do While Not objrecset.EOF 'Boucle dans le recordset jusqu'à la fin du tableau
    Set objUser = GetObject(objrecset.Fields("adspath").Value) 'Connexion à l'objet utilisateur par le biais de son adspath
    Interm = Format(objUser.LastLogin, "dd-mm-yy") 'Récupération de la propriété "lastlogin" et formattage de type "jj-mm-aa"
    Ecart_Date = DateDiff("y", Interm, Date_Contrôle) 'Calcul du nombre de jours entre la dernière connexion et la date du jour

    If Ecart_Date >= 30 Then 'Si l'écart de date est supérieur à 30 jours :
    Set itmX = lstListe.ListItems.Add(, , objrecset.Fields("cn").Value) 'Ajoute le common name à la liste
    itmX.SubItems(1) = Interm 'Affichage de la date de dernière connexion dans la seconde colonne
    itmX.SubItems(2) = Ecart_Date & " jours" 'Affichage du nombre de jours sans connexion
    If objUser.AccountDisabled Then itmX.SubItems(3) = "Oui" 'Affiche si le compte est désactivé
    End If

    DoEvents 'Accorde du temps au processeur pour les tâches d'arrière plan
    objrecset.movenext 'passe à l'enregistrement suivant
    Loop

    objCon.Close 'ferme la connexion à l'Active Directory

    End Sub

     

     Je le lance via word. Mais rien ne se passe !

    Connaissez vous un moyen de faire afficher les informations?

    Merci

    lundi 21 mai 2007 21:03
  • Bonjour,

     

    Comme tu viens toi meme de le dire c'est du VB

    Evidement si tu le lances avec Word rien ne va se passer...

    (a part l'affichage du code..)

    Va telecharger Visual Basic Express sur le site de microsoft t'auras surement plus de chance que cela fonctionne.

    mardi 22 mai 2007 08:24