[AD] connaitre derniére login dans active directory

connaitre derniére login dans active directory [AD] - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 31-12-2007 à 14:37:47    

bonjour en cette veille de nouvelle année.
 
je voudrais savoir si il était possible de lister tout les comptes d'un active directory sous 2003 Serveur SP2 avec la date de la derniére connexion au domaine.
 
j'ai chercher sur le net mais je trouve pas grand chose de concret
 
merci de votre aide.
 


---------------
tu te rends compte si on avé pas perdu 1h15 on seré la depuis 1h15 (c) jojo national Paris Dakar 2002...
Reply

Marsh Posté le 31-12-2007 à 14:37:47   

Reply

Marsh Posté le 31-12-2007 à 14:50:23    

Tiens l'article de référence : http://www.microsoft.com/technet/s [...] logon.mspx
 
(lis le bien au lieu de regarder vite fait à vouloir faire des copier collé)

Reply

Marsh Posté le 31-12-2007 à 15:51:21    

merci, je vais déja regarder ca de plus pret.
 
je connais pas trop le language script mais on va voir

Reply

Marsh Posté le 01-01-2008 à 20:28:50    

Tu mets en place les audits sur les connexions et sur ton DC, dans l'observateur d'evenement, tu récupères ce que tu recherches.
Tu peux recuperer DUMPEL, dispo sur le site de Microsoft, afin d'automatiser la recherche et le tri des infos parmis tes audits ou autres evenements.

Reply

Marsh Posté le 21-04-2008 à 10:59:20    

Ca m'intéresse beaucoup car cela permet de faire du ménage dans les login non utilisés :)
as tu mis en place le script "duncan mac leod" ?
merci
 
PS : je@nb a raison ! vraiment bien lire le truc !
 
exemple :
La replication a travers les différents controleurs de domaine de la variable lastLogonTimestamp ne se fait que 1 fois tous les 14 jours !!!


Message édité par akizan le 21-04-2008 à 11:05:02
Reply

Marsh Posté le 21-04-2008 à 11:10:15    

Maintenant niveau du script, il faut juste paramétrer pour questionner toute la OU.
l'exemple donné est :
Set objUser = GetObject("LDAP://cn=Ken Myer, ou=Finance, dc=fabrikam, dc=com" )
 
la syntaxe je la connais pas exactement...
cn : nom user
ou : nom de la ou
DC : nom du controleur du domaine et l'extension du nom du domaine
 
Mais ça marche pas, disons que j'ai du mal à trouver la bonne syntaxe... :(


Message édité par akizan le 21-04-2008 à 11:16:07
Reply

Marsh Posté le 21-04-2008 à 11:15:08    

j'ai trouver un outil sympa pour faire ca
 
 
http://www.pnltools.com/RealLastLogon.asp
 
 
c'est une demo valable 30jours


---------------
tu te rends compte si on avé pas perdu 1h15 on seré la depuis 1h15 (c) jojo national Paris Dakar 2002...
Reply

Marsh Posté le 21-04-2008 à 11:17:24    

oh ok, fin jvais essayer de faire fonctionner le VBS, ça sera plus mieux héhé. merci en tout cas.
 
Bon j'ai trouvé la syntaxe pour l'interrogation de l'annuaire AD mais en retour j'ai ça :
http://www.dump-it.fr/upload/images/miniatures/56ac4bfec458d2f216c146254109e825.jpg
La propriété répertoire n'est pas présente dans le cache...


Message édité par akizan le 21-04-2008 à 13:06:58
Reply

Marsh Posté le 21-04-2008 à 13:29:44    

en googleant, il semble que l'on puisse vérifier la présence des attributs AD en utilisant ADSIedit.msc
 
J'ai donc trouvé ça :
http://www.dump-it.fr/upload/images/miniatures/763f464ada4219957d5cf1ebb8077089.jpg
 
Maintenant je sais plus quoi faire....
help please

Reply

Marsh Posté le 21-04-2008 à 14:11:21    

J'ai trouvé un ancien script que j'avais fait (ou pompé je sais plus :p) a ce sujet car c'est assez galere!
 

Citation :

Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set Logs = objFSO.CreateTextFile("Logs.txt" )
 
strGroup = "cn=XXXXX, ou=XXXXXX, ou=XXXXXXXX, dc=XXXX, dc=XXXX, dc=XXXXX"
 
Set objGroup = GetObject ("LDAP://" & strGroup)
 
listUser(objGroup)
 
Sub listUser(groupe)
        For Each objItem in groupe.members
  If objItem.Class = "user" Then
   on error resume next
   set objLogon = objItem.Get("lastLogon" )
   if LastobjLogon <> objLogon.LowPart AND objLogon.LowPart <> "0" Then
    intLogonTime = objLogon.HighPart * (2^32) + objLogon.LowPart  
    intLogonTime = intLogonTime / (60 * 10000000)
    intLogonTime = intLogonTime / 1440
    lastLogon = Left(intLogonTime + #1/1/1601#,10)
   Else
    lastLogon = "INCONNU"
   End If
   Logs.WriteLine(Mid(objItem.Name,4) & " => Last Logon: " & LastLogon)
   LastobjLogon = objLogon.LowPart
                End if
                If objItem.Class = "group" Then
                        listUser(objItem)
                End if
        Next
End Sub
 
Logs.close


 
Ca te donnera un truc du genre:
 
Pierre XXX => Last Logon: 22/01/2008
Loic XXX => Last Logon: 21/01/2008
Jalil XXX => Last Logon: 11/10/2007
Boubacar XXXX => Last Logon: 14/01/2008
Angelique XXX => Last Logon: 21/01/2008
Isabelle XXX => Last Logon: 21/01/2008
 
Tu changeras les "XXX" dans le script :)

Reply

Marsh Posté le 21-04-2008 à 14:11:21   

Reply

Marsh Posté le 21-04-2008 à 14:37:36    

Reply

Marsh Posté le 21-04-2008 à 14:50:24    

tayn a écrit :

J'ai trouvé un ancien script que j'avais fait (ou pompé je sais plus :p) a ce sujet car c'est assez galere!
 

Citation :

Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set Logs = objFSO.CreateTextFile("Logs.txt" )
 
strGroup = "cn=XXXXX, ou=XXXXXX, ou=XXXXXXXX, dc=XXXX, dc=XXXX, dc=XXXXX"
 
Set objGroup = GetObject ("LDAP://" & strGroup)
 
listUser(objGroup)
 
Sub listUser(groupe)
        For Each objItem in groupe.members
  If objItem.Class = "user" Then
   on error resume next
   set objLogon = objItem.Get("lastLogon" )
   if LastobjLogon <> objLogon.LowPart AND objLogon.LowPart <> "0" Then
    intLogonTime = objLogon.HighPart * (2^32) + objLogon.LowPart  
    intLogonTime = intLogonTime / (60 * 10000000)
    intLogonTime = intLogonTime / 1440
    lastLogon = Left(intLogonTime + #1/1/1601#,10)
   Else
    lastLogon = "INCONNU"
   End If
   Logs.WriteLine(Mid(objItem.Name,4) & " => Last Logon: " & LastLogon)
   LastobjLogon = objLogon.LowPart
                End if
                If objItem.Class = "group" Then
                        listUser(objItem)
                End if
        Next
End Sub
 
Logs.close


 
Ca te donnera un truc du genre:
 
Pierre XXX => Last Logon: 22/01/2008
Loic XXX => Last Logon: 21/01/2008
Jalil XXX => Last Logon: 11/10/2007
Boubacar XXXX => Last Logon: 14/01/2008
Angelique XXX => Last Logon: 21/01/2008
Isabelle XXX => Last Logon: 21/01/2008
 
Tu changeras les "XXX" dans le script :)


 
merci, mais j'suis fou ou quoi, l'attribut CN, tu met bien ton nom d'utilisateur ?!
ça marche pas....cet objet ne gère pas cette propriété ou cette méthode groups.members

Reply

Marsh Posté le 21-04-2008 à 15:09:37    

Moi dans CN j'ai mis un groupe.
 
Si tu mets un utilisateur effectivement tu risques d'avoir un souci pour trouver les membres de cet utilisateur :p Puisqu'il est tout seul :)

Reply

Marsh Posté le 21-04-2008 à 15:25:48    

lol, bah oui forcément... ça marche ton script :)
sauf que ça utilise lastlogon et pas lastLogonTimestamp mais bon...
merci

Reply

Marsh Posté le 21-04-2008 à 15:31:30    

+1, c'est chiant si tu as plusieurs DC vu que lastlogon n'est pas répliqué http://www.microsoft.com/technet/s [...] logon.mspx

Reply

Marsh Posté le 22-04-2008 à 11:17:55    

bon j'ai du nouveau pour LastLogontimeStamp !
 
en utilisant ADExplorer, quelle ne fut pas ma surprise ! L'attribut n'est pas déclaré dans les comptes utilisateurs !
http://www.dump-it.fr/upload/images/miniatures/a3f5d4c0ba445a42941494613b5a30e7.jpg
 
alors bien evidemment, je fais clic droit, New Attribut et la :
http://www.dump-it.fr/upload/images/miniatures/a160ad540e850b5017a0afb3df9b9aac.jpg
 
Je pense que c'est tout bon ! l'attribut est présent, je fais OK
 
http://www.dump-it.fr/upload/images/miniatures/cd0d006ddffdf8c793f9dcfa01e62e8d.jpg
 
Donc voila, encore bloqué....


Message édité par akizan le 22-04-2008 à 11:19:07
Reply

Marsh Posté le 22-04-2008 à 11:22:48    

Niveau fonctionnel de ton domaine/forêt ?

Reply

Marsh Posté le 22-04-2008 à 11:48:13    

mon AD est un 2003 mis à jour de NT4->2000
En fait on a repris la SAM NT4 que l'on a migré en 2000 pour avoir un AD et ensuite de l'AD 2000 on a l'a upgradé en AD 2003.
 
voila voila... c'est ça la question ? lol

Reply

Marsh Posté le 22-04-2008 à 11:54:57    

Non, si tu as juste fait une upgrade et jamais modifié le niveau fonctionnel, ton domaine/forêt fonctionne toujours avec les anciennes compatibilité.
 
Après j'avoue, j'ai pas regardé si cet attribut est qd même utilisé par les dc en 2003 même si le domaine est en 2000 ou 2000 mixte mais bon, regarde qd même.
 
Pour regarder le niveau fonctionnel du domaine, dans la console domaine et approbation, tu fais bouton droit sur le domaine, et tu as un truc genre niveau fonctionnel

Reply

Marsh Posté le 22-04-2008 à 12:01:35    

oh ok, bah j'ai ça :
http://www.dump-it.fr/upload/images/miniatures/9c7e24f412c0c00562a8c2246104cfe8.jpg
 
donc ça a l'air bien ?
Windows Server 2003 version préliminaire
 
oh ok, je regarde l'aide mais effectivement ça à l'air caca....
il faudrait être en Windows Server 2003 je pense
 


Message édité par akizan le 22-04-2008 à 12:03:24
Reply

Marsh Posté le 22-04-2008 à 12:11:47    

Si tu as plus de NT ouais passe en 2003 :)

Reply

Marsh Posté le 22-04-2008 à 12:14:27    

ouais sauf que j'ai encore un NT4.0 !!! C'est pas vrai, et j'peux pas m'en passer en plus :(
Bon bah merci Je@nb, grand merci, j'ai appris plein de trucs avec ton aide :)

Reply

Marsh Posté le 22-04-2008 à 12:20:29    

il est contrôlleur de domaine ton NT4 ?

Reply

Marsh Posté le 22-04-2008 à 13:02:34    

oui :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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