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 Serveur Discussion :

Trouver la date de dernière connexion d'un ordinateur


Sujet :

Windows Serveur

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Trouver la date de dernière connexion d'un ordinateur
    -------------------------------
    Environement : W2k Server
    DC's : W2K server
    Data center : W2k3
    Client : W2k client
    -------------------------------
    Bonjour,

    Pour vous présenter la situation, j'aimerais purger un peu mon AD j'ai 22900 "comptes machine" alors que seulement 9500 "compte users"
    qui se connectent depuis ces 3 derniers mois... bien entendu les users ont parfois plusieurs machine mais le delta est trop important
    et j'aimerais soulager l'AD des comptes machines non connecté depuis plus de 9 mois.

    La population des users est déjà soumise à un nettoyage régulier mais contrairement à l'objet user, l'objet computer refuse de me livrer son lastlogon, etonnement mes requete ldap plantent, alors Avant de poster j'ai cherché un peu, beaucoup passionnement blablabla...

    Voici le code utilisé pour l'instant en powershell
    (aprés avoir bloqué en Auto-it a cause d'un com object error)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ldapQuery = "(&(objectCategory=computer)(operatingSystem=Windows 2000 Professional))"
    $de = new-object system.directoryservices.directoryentry
    $ads.pagesize=30000
    $ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
    $complist = $ads.findall()
    $complist | export-csv -path 9mold_computers.csv
    Malgrés tout j'ai plusieurs problème et je m'arrache les cheveux...

    - La limite de 1000 reponse par page n'est pas breakée par $ads.pagesize=30000
    - le resultat de la requete ne me detail pas les attribut des objets remontés
    - impossible d'obtenir le lastlogon computer

    Si quelqu'un avait la formule magique : j'aimerais mettre dans un CSV le nom des machines ";" lastLogon (de la machine)

    Merci de votre aide car je suis vraiment bloqué... je suis ouvert a tout language PS VB Auto-IT.

    Cordialement

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut
    Je rencontre le même genre de problèmes, j'avoue être très intéressé par une solution ):
    Au niveau des comptes USER, pour le moment je n'en ai pas la charge, mais en ayant pas/peu cherché, je serai intéressé par la solution que tu as utilisé pour voir qui ne se connecte pas/peu depuis moult mois

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut
    Sinon j'ai trouvé ça par là http://techtasks.com/code/viewbookcode/1649

    # This Perl code finds inactive computer accounts

    # ---------------------------------------------------------------
    # From the book "Active Directory Cookbook" by Robbie Allen
    # ISBN: 0-596-00466-4
    # ---------------------------------------------------------------

    #-----------------------
    # Script Configuration
    #-----------------------
    # Domain and container/OU to check for inactive computer accounts
    my $domain = 'amer.rallencorp.com';

    # set to empty string to query entire domain
    my $computer_cont = 'cn=Computers,';

    # Number of weeks used to find inactive computers
    my $weeks_ago = 30;
    #-----------------------
    # End Configuration
    #-----------------------

    use strict;
    use Win32::OLE;
    $Win32::OLE::Warn = 3;
    $Win32::OLE::Warn = 3;
    use Math::BigInt;

    # Must convert the number of seconds since $weeks_ago
    # to a large integer for comparison against lastLogonTimestamp
    my $sixmonth_secs = time - 60*60*24*7*$weeks_ago;
    my $intObj = Math::BigInt->new($sixmonth_secs);
    $intObj = Math::BigInt->new($intObj->bmul('10 000 000'));
    my $sixmonth_int = Math::BigInt->new(
    $intObj->badd('116 444 736 000 000 000'));
    $sixmonth_int =~ s/^[+-]//;

    # Setup the ADO connections
    my $connObj = Win32::OLE->new('ADODB.Connection');
    $connObj->{Provider} = "ADsDSOObject";
    $connObj->Open;
    my $commObj = Win32::OLE->new('ADODB.Command');
    $commObj->{ActiveConnection} = $connObj;
    $commObj->Properties->{'Page Size'} = 1000;

    # Grab the default root domain name
    my $rootDSE = Win32::OLE->GetObject("LDAP://$domain/RootDSE");
    my $rootNC = $rootDSE->Get("defaultNamingContext");

    # Run ADO query and print results
    my $query = "<LDAP://$domain/$computer_cont$rootNC>;";
    $query .= "(&(objectclass=computer)";
    $query .= "(objectcategory=computer)";
    $query .= "(lastlogontimestamp<=$sixmonth_int));";
    $query .= "cn,distinguishedName;";
    $query .= "subtree";
    $commObj->{CommandText} = $query;
    my $resObj = $commObj->Execute($query);
    die "Could not query $domain: ",$Win32::OLE::LastError,"\n"
    unless ref $resObj;

    print "\nComputers that have been inactive for $weeks_ago weeks or more:\n";
    my $total = 0;
    while (!($resObj->EOF)) {
    my $cn = $resObj->Fields(0)->value;
    print "\t",$resObj->Fields("distinguishedName")->value,"\n";
    $total++;
    $resObj->MoveNext;
    }
    print "Total: $total\n";

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup je regarde cela attentivement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2015, 03h27
  2. Réponses: 6
    Dernier message: 09/02/2015, 10h54
  3. [XL-2013] Connexions au classeur - Date de dernière actualisation
    Par briceth dans le forum Excel
    Réponses: 4
    Dernier message: 23/03/2014, 16h34
  4. [10g] Comment trouver la date de la dernière modification d'une table ?
    Par Lung dans le forum Administration
    Réponses: 19
    Dernier message: 30/07/2013, 16h15
  5. [Oracle 9] Date de dernière connexion
    Par allex2108 dans le forum Oracle
    Réponses: 7
    Dernier message: 15/02/2006, 08h14

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