Comment trouver l’heure de la dernière connexion des utilisateurs d’Active Directory (à l’aide d’ADUC). Active Directory est un composant central de nombreux réseaux basés sur Windows et sert de base de données pour les utilisateurs, les groupes et les ordinateurs gérés par les administrateurs système. Une tâche cruciale pour les administrateurs système est d’identifier les comptes utilisateurs inactifs dans Active Directory et de les supprimer pour améliorer la sécurité et réduire l’encombrement dans l’annuaire. Pour cela, les administrateurs doivent trouver la dernière heure de connexion d’un utilisateur dans Active Directory.
Plusieurs méthodes existent pour y parvenir, y compris la console Active Directory Utilisateurs et Ordinateurs, les requêtes LDAP et les commandes PowerShell. Dans ce sujet, nous examinons ces méthodes plus en détail et montrons comment les administrateurs système peuvent facilement trouver l’heure de dernière connexion d’un utilisateur dans Active Directory.
Continuons-nous avec l’article Comment trouver l’heure de dernière connexion des utilisateurs d’Active Directory (en utilisant ADUC).
Comment trouver l’heure de dernière connexion des utilisateurs d’Active Directory (en utilisant ADUC)
Pour déterminer la dernière fois qu’un domaine utilisateur s’est connecté, nous utilisons la console graphique Active Directory Utilisateurs et Ordinateurs (ADUC). Voici comment :
- Démarrez la console dsa.msc.
- Sélectionnez Afficher > Fonctionnalités avancées dans le menu principal pour activer cette option.
3. Localisez l’utilisateur dans l’arborescence AD et accédez à ses propriétés.
4. Cliquez sur l’onglet Éditeur d’attributs.
5. Recherchez l’attribut dernier accès dans la liste des attributs, qui affiche l’heure de connexion la plus récente de l’utilisateur au domaine.
Remarque. Les lastLogon et lastLogonTimestamp caractéristiques sur l’image ci-dessus sont comparables. Alors, qu’est-ce qui les distingue l’un de l’autre?
Attributs d’horodatage de connexion
- Lorsqu’un utilisateur se connecte à un domaine, l’attribut lastLogon est modifié. Cependant, il ne modifie que le contrôleur de domaine qui a fourni aux autres contrôleurs de domaine l’authentification de l’utilisateur non répliqué. Par conséquent, nous devons vérifier cet attribut sur chaque contrôleur de domaine, si plusieurs contrôleurs de domaine sont répartis sur différents sites Active Directory sites et sous-réseaux. Ensuite, nous devons comparer les informations obtenues. La valeur de cet attribut pour un utilisateur sur plusieurs DC peut varier ou même être nulle (si l’utilisateur est un utilisateur non authentifié sur ce DC) ;
- Lorsqu’un utilisateur se connecte à un contrôleur de domaine, le lastLogonTimeStamp attribut est également modifié, et nous le répliquons sur les autres contrôleurs de domaine. Cependant, il faut un certain temps pour répliquer cette propriété (nous ne la reproduisons que si la valeur actuelle est de quatorze (14) jours ou plus ancienne que la précédente). Par conséquent, les informations dans cette propriété pour un contrôleur de domaine particulier pourraient être moins pertinentes.
À partir de la version du serveur Windows 2008 AD schema (AD Schema objectVersion = 44), nous utilisons plusieurs attributs alternatifs liés à la connexion. Ces attributs incluent :
- msDS-LastFailedInteractiveLogonTime: affiche l’heure de la dernière tentative de connexion interactive infructueuse.
- msDS-LastSuccessfulInteractiveLogonTime: affiche l’heure de la dernière tentative de connexion réussie. Il est essentiel de vérifier la version du schéma AD pour déterminer si la mise à jour du schéma Active Directory est nécessaire.
Ces propriétés, que nous utilisons pour suivre les tentatives d’authentification interactive des utilisateurs, sont souvent dupliquées entre les contrôleurs de domaine AD. Cependant, elles n’étendent pas automatiquement la collecte de toutes informations sur les préférences des utilisateurs.
Essayez nos outils de création de rapports et d’audit pour Active Directory & Office 365
Essayez-nous gratuitement. Des centaines de modèles de rapports sont disponibles. Personnalisez facilement vos propres rapports sur AD, Azure AD & Office 365.
Activation des propriétés de connexion à l’aide de la stratégie de groupe
Pour rendre ces fonctionnalités disponibles :
- Activez la configuration de la stratégie de groupe (GPO) « Fournir des informations sur les connexions précédentes aux ordinateurs clients pour les contrôleurs de domaine », située à Configuration de l’ordinateur > Modèles d’administration > Système > KDC.
- Créez un GPO avec ce paramètre.
- Attribuez le GPO au conteneur Domain Controllers.
Pour générer une liste des utilisateurs qui n’ont pas connecté au domaine depuis un certain temps en utilisant une requête LDAP dans la console graphique Active Directory, suivez ces étapes:
- Convertissez la date souhaitée au format ToFileTime. Par exemple, si nous voulons trouver les utilisateurs qui n’ont pas connecté depuis plus de 90 jours, nous utilisons une commande PowerShell pour obtenir la valeur de la date :
(Get-Date).AddDays(-90).ToFileTime()
Ce morceau de code fournit une valeur dans le temps époch comme 132988354159396418 basé sur la date spécifiée.
2. Insérez la valeur FileTimeDate dans la requête LDAP :
console.log( 'Code is Poetry' );
3. Ouvrez la console Utilisateurs et ordinateurs AD, faites un clic droit sur le nœud Recherches enregistrées, puis cliquez sur Nouveau, puis Requête.
4. Nommez la requête et cliquez sur le bouton Définir la requête.
5. Choisissez Recherche personnalisée dans la liste déroulante et passez à l’onglet Avancé.
6. Copiez la requête LDAP dans le champ Entrez la requête LDAP.
7. Enregistrez la requête en cliquant sur OK puis confirmez avec un autre OK.
8. Sélectionnez la requête dans les Recherches enregistrées et appuyez sur F5 pour rafraîchir la liste des objets. La console ADUC affiche une liste plate des utilisateurs qui ont effectué leur dernier connexion au domaine depuis plus de 90 jours.
9. Supprimez ou désactivez les comptes d’utilisateurs inactifs du domaine directement à partir de la console AD.
Trouver l’heure de la dernière connexion à l’aide de CMD
Suivant avec l’article Comment trouver l’heure du dernier accès d’un utilisateur Active Directory (en utilisant ADUC), il s’agit d’apprendre à trouver l’heure du dernier accès en utilisant CMS. En utilisant les outils net ou dsquery depuis la ligne de commande, nous pouvons découvrir quand l’utilisateur a dernièrement accédé au domaine. Par exemple, exécutez la commande suivante dans un terminal de ligne de commande (nous n’avons pas besoin de droits d’administrateur de domaine pour obtenir des informations sur l’utilisateur AD) :
net user administrator /domain | findstr "Last"
Si nous voulons obtenir l’heure du dernier accès d’un utilisateur local, nous devons supprimer le /domain paramètre :
net user User | findstr "Last"
Nous pouvons également obtenir l’heure du dernier accès en utilisant dsquery. Par exemple :
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=admin))" -attr distinguishedName lastLogon lastLogonTimestamp -limit 0
Le principal problème est que les attributs lastLogonTimestamp et lastLogon sont au format horodatage dans AD, et nous devons les convertir en un format de temps normal.
Nous utilisons cette commande pour trouver tous les utilisateurs inactifs, par exemple, pour 10 semaines :
dsquery user domainroot -inactive 10
Trouver l’heure du dernier accès en utilisant PowerShell
Nous utilisons également PowerShell pour obtenir l’heure du dernier accès au domaine de l’utilisateur. Pour cela, nous devons utiliser le module PowerShell Active Directory et les commandes PowerShell. Tout d’abord, ouvrez PowerShell et exécutez la Import-Module pour importer le module Active Directory :
Import-Module ActiveDirectory
Lire aussi Outil de Rapport d’ouverture et de fermeture de session utilisateur Active Directory (Filtre Avancé)Trouver les utilisateurs inactifs dans un certain nombre de jours
Get-ADUser -Identity username -Properties LastLogon | Select-Object -Property Name, LastLogon
Pour trouver les comptes qui n’ont pas ouvert de session pendant un nombre spécifique de jours, comme 90 jours, nous utilisons une commande PowerShell qui filtre les comptes utilisateur en fonction de leur Horodatage de Dernière Connexion. Voici un exemple de commande :
Get-ADUser -Filter {Name -eq "username"} -Properties * |
Select-Object Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}
Cette commande recherche les comptes qui sont inactifs depuis 90 jours ou plus et sélectionne uniquement ceux qui sont des comptes utilisateur. Elle affiche ensuite les noms de ces comptes utilisateur et leur valeur d’attribut Horodatage de Dernière Connexion, représentant la dernière fois où l’utilisateur s’est connecté au domaine.Nous ajustons le paramètre TimeSpan pour rechercher des comptes qui ont été inactifs pendant un nombre différent de jours. Par exemple, si nous voulons rechercher des comptes qui sont inactifs depuis 60 jours, nous réglons TimeSpan sur 60.00:00:00.Remarquez que AD met à jour l’attribut
Trouver les utilisateurs inactifs dans un délai imparti
Pour trouver des comptes qui n’ont pas été connectés pendant un nombre spécifique de jours, tels que 90 jours, nous utilisons une commande PowerShell qui filtre les comptes d’utilisateurs en fonction de leur attribut LastLogonTimestamp. Voici un exemple de commande:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | where {$_.ObjectClass -eq 'user'} | Select-Object Name, LastLogonTimestamp
Cette commande recherche des comptes qui sont inactifs depuis 90 jours ou plus et ne sélectionne que ceux qui sont des comptes d’utilisateurs. Elle affiche ensuite les noms de ces comptes d’utilisateurs et la valeur de leur attribut LastLogonTimestamp, représentant la dernière fois que l’utilisateur s’est connecté au domaine.
Nous ajustons le paramètre TimeSpan pour rechercher des comptes qui ont été inactifs pendant un nombre différent de jours. Par exemple, si nous voulons rechercher des comptes qui ont été inactifs pendant 60 jours, nous définissons TimeSpan sur 60.00:00:00.
Notez que l’AD met à jour l’attribut LastLogonTimestamp après qu’un utilisateur se connecte ou se déconnecte du système, donc la valeur peut être partiellement précise. De plus, cet attribut est répliqué entre les contrôleurs de domaine uniquement tous les 9 à 14 jours par défaut, nous pouvons donc obtenir des informations à jour uniquement pour certains comptes d’utilisateur.
Exporter vers un fichier CSV
Pour exporter la liste des comptes d’utilisateurs inactifs vers un fichier CSV, nous modifions la commande PowerShell fournie précédemment pour inclure le Export-CSV cmdlet. Voici un exemple de commande:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
where {$_.ObjectClass -eq 'user'} |
Select-Object Name, LastLogonTimestamp |
Export-CSV C:\InactiveUsers.csv -NoTypeInformation
Cette commande recherche les comptes qui sont inactifs depuis 90 jours ou plus et ne sélectionne que ceux qui sont des comptes d’utilisateurs. Elle détermine ensuite les propriétés Name et LastLogonTimestamp de ces comptes d’utilisateurs et les exporte vers un fichier CSV situé à “C:\InactiveUsers.csv”.
Le paramètre « -NoTypeInformation » spécifie que le fichier CSV ne doit pas inclure les informations de type .NET pour chaque objet, ce qui rend le fichier plus facile à lire. Après avoir exécuté cette commande, nous ouvrons le fichier CSV avec Excel ou toute autre application de feuille de calcul pour afficher la liste des comptes d’utilisateurs inactifs et leurs horodatages de dernière connexion.
Merci d’avoir lu l’article Comment trouver l’heure de dernière connexion des utilisateurs de l’Active Directory (en utilisant ADUC). Nous allons maintenant le conclure.
Conclusion sur Comment trouver l’heure de dernière connexion des utilisateurs de l’Active Directory (en utilisant ADUC)
En conclusion, trouver l’heure de dernière connexion d’un utilisateur dans Active Directory est une tâche essentielle pour les administrateurs système, car cela leur permet d’identifier les comptes d’utilisateurs inactifs qui peuvent être désactivés ou supprimés pour améliorer la sécurité et réduire le désordre dans l’annuaire. Nous y parvenons en utilisant diverses méthodes, notamment la console Active Directory Users and Computers, les requêtes LDAP et les commandes PowerShell.
Avec les bons outils et techniques, les administrateurs système trouvent rapidement et facilement l’heure de dernière connexion d’un utilisateur dans Active Directory et prennent les mesures appropriées pour gérer leur annuaire efficacement.
Source:
https://infrasos.com/how-to-find-active-directory-users-last-logon-time-using-aduc/