IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows XP Discussion :

Date de derniere connexion d'un user Active Directory


Sujet :

Windows XP

  1. #1
    New
    New est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 39
    Points : 43
    Points
    43
    Par défaut Date de derniere connexion d'un user Active Directory
    Bonjour,

    J'ai une question afin de faire un peu le ménage dans un domaine Windows 2000 active directory et supprimer les utilisateurs qui ne sont plus utilisés (beaucoup de mouvement de personnel et on ne supprime pas tjs les users quand ils partent, je sais c'est pas bien mais à notre décharge je signale que le service informatique est rarement mis au courant du départ d'un employé de l'entreprise).

    Je suis certain d'avoir déja vu qu'une commande DOS executée sur le serveur active directory permettait d'avoir la date de dernière connexion sur une machine d'un user voir de tous les users mais je ne la retrouve plus. Google n'est pas mon ami et ici sur le forum je n'ai pas trouvé de demande en ce sens.

    Quelqu'un a-t-il une idée pour moi ?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Ce script en perl pour voir les user qui ne se sont pas connectés depuis quelque temps (voir son auteur pour plus de précision):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    # This Perl code finds the users that have not logged in over a period of time
    
    # ---------------------------------------------------------------
    # From the book "Active Directory Cookbook" by Robbie Allen
    # Publisher: O'Reilly and Associates
    # ISBN: 0-596-00466-4
    # Book web site: http://rallenhome.com/books/adcookbook/code.html
    # ---------------------------------------------------------------
    
    # ------ SCRIPT CONFIGURATION ------
    # Domain and container/OU to check for inactive accounts
    my $domain   = '<DomainDNSName>';  # e.g. amer.rallencorp.com
    my $cont     = 'cn=Users'; # set to empty string to query entire domain
                               # Or set to a relative path in the domain&#58;
                               #    e.g. cn=Users
    # Number of weeks a user needs to be inactive to be returned
    my $weeks_ago = <NumWeeks>;  # e.g. 4
    # ------ END CONFIGURATION ---------
    
    use strict;
    use Win32&#58;&#58;OLE;
    $Win32&#58;&#58;OLE&#58;&#58;Warn = 3;
       $Win32&#58;&#58;OLE&#58;&#58;Warn = 3;
    use Math&#58;&#58;BigInt;
    
    # Need to convert the number of seconds since $weeks_ago
    # to a large integer for comparison against lastLogonTimestamp
    my $past_secs = time - 60*60*24*7*$weeks_ago;
    my $intObj = Math&#58;&#58;BigInt->new&#40;$past_secs&#41;;
       $intObj = Math&#58;&#58;BigInt->new&#40;$intObj->bmul&#40;'10 000 000'&#41;&#41;;
    my $past_largeint = Math&#58;&#58;BigInt->new&#40;
                          $intObj->badd&#40;'116 444 736 000 000 000'&#41;&#41;;
       $past_largeint =~ s/^&#91;+-&#93;//;
    
    # Setup the ADO connections
    my $connObj                         = Win32&#58;&#58;OLE->new&#40;'ADODB.Connection'&#41;;
    $connObj->&#123;Provider&#125;                = "ADsDSOObject";
    # Set these next two if you need to authenticate
    # $connObj->Properties->&#123;'User ID'&#125;   = '<UserUPNOrDN>'; 
    # $connObj->Properties->&#123;'Password'&#125;  = '<Password>';
    $connObj->Open;
    my $commObj                         = Win32&#58;&#58;OLE->new&#40;'ADODB.Command'&#41;;
    $commObj->&#123;ActiveConnection&#125;        = $connObj;
    $commObj->Properties->&#123;'Page Size'&#125; = 1000;
    
    # Grab the default domain name
    my $rootDSE = Win32&#58;&#58;OLE->GetObject&#40;"LDAP&#58;//$domain/RootDSE"&#41;;
    my $rootNC = $rootDSE->Get&#40;"defaultNamingContext"&#41;;
    
    # Run ADO query and print results
    $cont .= "," if $cont and not $cont =~ /,$/;
    my $query  = "<LDAP&#58;//$domain/$cont$rootNC>;";
    $query .=  "&#40;&&#40;objectclass=user&#41;";
    $query .=    "&#40;objectcategory=Person&#41;";
    $query .=    "&#40;!useraccountcontrol&#58;1.2.840.113556.1.4.803&#58;=2&#41;";
    $query .=    "&#40;lastlogontimestamp<=$past_largeint&#41;&#41;;";
    $query .=  "cn,distinguishedName;";
    $query .= "subtree";
    $commObj->&#123;CommandText&#125; = $query;
    my $resObj = $commObj->Execute&#40;$query&#41;;
    die "Could not query $domain&#58; ",$Win32&#58;&#58;OLE&#58;&#58;LastError,"\n" 
       unless ref $resObj;
    
    print "\nUsers that have been inactive for $weeks_ago weeks or more&#58;\n";
    my $total = 0;
    while &#40;!&#40;$resObj->EOF&#41;&#41; &#123;
       my $cn  = $resObj->Fields&#40;0&#41;->value;
       print "\t",$resObj->Fields&#40;"distinguishedName"&#41;->value,"\n";
       $total++;
       $resObj->MoveNext;
    &#125;
    print "Total&#58; $total\n";

Discussions similaires

  1. [WS 2003] comment remplir attribut uid dans classe user Active directory
    Par ouadie99 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 13/08/2009, 10h23
  2. Recherche User Active Directory
    Par bubu92 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 02/03/2009, 11h40
  3. date derniere connexion
    Par zizou771 dans le forum Oracle
    Réponses: 9
    Dernier message: 04/07/2006, 16h14
  4. [LDAP] problème connexion anonyme avec php à Active Directory
    Par anto48_4 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 02/03/2006, 16h50
  5. [Upload] Date de dernier accès aux fichiers...
    Par John@EuroDevz dans le forum Langage
    Réponses: 10
    Dernier message: 08/04/2005, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo