Comment identifier le créateur d’un compte utilisateur dans Active Directory

La gestion des informations utilisateur dans Active Directory peut paraître complexe au premier abord, surtout lorsqu’il s’agit de déterminer qui a créé un compte ou à quelle date. Il est fréquent de devoir auditer la création d’utilisateurs, retrouver des comptes récents ou simplement vérifier si quelqu’un a modifié la configuration des comptes. Heureusement, PowerShell et la console AD offrent quelques astuces qui simplifient grandement la tâche, à condition de savoir où chercher. Que vous recherchiez un nouvel utilisateur mystérieux ou que vous souhaitiez mieux comprendre le fonctionnement d’AD, cet article devrait vous éclairer.

Comment savoir quand un compte utilisateur a été créé et par qui ?

Trouver la date de création avec ADUC (méthode graphique)

Tout d’abord, la méthode la plus simple – si vous n’êtes pas un expert en PowerShell – consiste à utiliser Utilisateurs et ordinateurs Active Directory ( dsa.msc).Assurez-vous simplement que les fonctionnalités avancées sont activées dans le menu Affichage, car sinon certaines informations restent masquées. Trouvez l’utilisateur dans la liste, ouvrez ses propriétés, puis accédez à l’ onglet Objet. La date de création indique précisément la date de création du compte. Facile ! Mais croyez-moi, ce n’est que la partie émergée de l’iceberg.

Vous pouvez également consulter whenCreateddirectement l’attribut via l’éditeur d’attributs ; il se trouve dans la même fenêtre de propriétés, mais vous devez activer l’onglet « Éditeur d’attributs » dans les options d’affichage. Il est un peu caché, mais une fois trouvé, son utilisation est simple. Sur certaines configurations, ces informations peuvent être instables, notamment si les règles ont été modifiées ou si des scripts ont été utilisés pour altérer les horodatages ; tenez-en compte.

Utilisation de PowerShell pour la date de création et plus encore

Pour les utilisateurs avertis ou ceux qui préfèrent les scripts, Get-ADUserl’applet de commande PowerShell est une véritable aubaine. Vous souhaitez récupérer la date de création ? Voici une commande simple en une seule ligne :

Get-ADUser a.brion -Properties whenCreated | Select-Object Name, whenCreated

Vous obtiendrez ainsi le nom de l’utilisateur et la date de création du compte.En quoi est-ce utile ? C’est beaucoup plus rapide pour rechercher parmi de nombreux utilisateurs ou pour des vérifications régulières. Quand l’utiliser ? Généralement, lorsque vous soupçonnez la création d’un nouveau compte à votre insu. Vous verrez un horodatage indiquant précisément la date de création du compte. Dans certains cas, cette date peut être erronée si les horodatages ont été manipulés, mais le plus souvent, c’est assez fiable.

Autre astuce pratique : si vous souhaitez trouver tous les comptes créés au cours des dernières 24 heures, vous pouvez exécuter un script comme celui-ci :

$lastday = ((Get-Date).AddDays(-1)) $filename = Get-Date -Format yyyy. MM.dd $exportcsv = "C:\ps\new_ad_users_" + $filename + ".csv" Get-ADUser -Filter {(whenCreated -ge $lastday)} -Properties whenCreated | Select-Object Name, UserPrincipalName, SamAccountName, whenCreated | Export-Csv -Path $exportcsv -NoTypeInformation 

Ce script collecte les comptes récents, ce qui est pratique pour suivre quotidiennement la création de nouveaux comptes utilisateurs. Il suffit de le programmer dans le Planificateur de tâches Windows, et hop ! vous obtenez des rapports quotidiens.

Suivi des créateurs de comptes : secrets du journal des événements

C’est là que ça se complique. Si vous cherchez à savoir qui a créé un utilisateur, vous devez consulter les journaux de sécurité. Lorsqu’un utilisateur est créé dans Active Directory, un événement avec l’ID 4720 apparaît dans les journaux du contrôleur de domaine. Mais – et c’est là le hic – cela n’arrive que si l’audit est activé dans la stratégie de groupe pour la « Gestion des comptes d’utilisateurs ».

Sur la plupart des contrôleurs de domaine, l’option « Auditer la gestion des comptes d’utilisateurs » doit être activée dans la stratégie par défaut du contrôleur de domaine. Si elle n’est pas activée, vous ne verrez pas ces événements. Une fois activée, chaque création d’utilisateur déclenche un événement dont la description indique « Un compte d’utilisateur a été créé ».

Pour identifier l’auteur de la création, consultez le champ « Sujet », qui indique le compte ayant effectué la création, ainsi que le nom d’utilisateur du nouveau compte dans le champ « Nouveau compte ».Pour obtenir rapidement ces informations à partir de plusieurs contrôleurs de domaine, vous pouvez utiliser un script qui recherche tous les événements pertinents des dernières 24 heures.

$Report = @() $time = (Get-Date) - (New-TimeSpan -Hours 24) $AllDCs = Get-ADDomainController -Filter * foreach($DC in $AllDCs) { Get-WinEvent -ComputerName $DC. Name -FilterHashtable @{LogName="Security"; Id=4720; StartTime=$time} | Foreach { $xml = [xml]$_. ToXml() if($xml) { $timestamp = Get-Date $_. TimeCreated -UFormat "%Y-%m-%d %H:%M:%S" $creator = $xml. Event. EventData. Data | Where-Object { $_. Name -eq "SubjectUserName" } | Select-Object -ExpandProperty '#text' $newUser = $xml. Event. EventData. Data | Where-Object { $_. Name -eq "TargetUserName" } | Select-Object -ExpandProperty '#text' $Report += [pscustomobject]@{ User = $newUser Creator = $creator DC = $DC. Name CreationDate = $timestamp } } } } $Report | Export-Csv "C:\ps\ad_user_creation_report_$(Get-Date -Format yyyy. MM.dd).csv" -NoTypeInformation 

Oui, ça a l’air un peu complexe, mais ça fonctionne, surtout si vous auditez plusieurs contrôleurs de domaine. N’oubliez pas que le script pourrait nécessiter quelques ajustements en fonction de vos politiques de journalisation.

Si cela ne suffit pas, voici une solution possible : assurez-vous que l’audit est activé, que les journaux sont propres et que vous disposez des droits d’accès à ces journaux. Sinon, ces informations resteront inaccessibles.

En dernier recours, c’est pénible, mais consulter votre administrateur système ou votre équipe de sécurité peut vous éviter bien des soucis. Et si vous utilisez une configuration où les journaux sont conservés pendant des années, vous pouvez tenter de les parcourir manuellement dans l’Observateur d’événements ; mais l’automatisation est bien plus efficace.

Conclure

Avec un peu de savoir-faire, il est possible de savoir qui a créé un utilisateur et à quelle date. PowerShell et les outils de la console Active Directory vous seront d’une grande aide. Assurez-vous simplement que vos stratégies d’audit AD sont correctement configurées dès le départ, sinon vous risquez de perdre votre temps. Grâce aux scripts ci-dessus, vous pouvez automatiser la plupart des tâches fastidieuses et suivre les nouveaux comptes utilisateurs avec une relative facilité. Espérons que cela contribuera à simplifier certains flux de travail d’audit.

Résumé

  • Utilisez ADUC avec ses fonctionnalités avancées pour voir rapidement la date de création d’un utilisateur.
  • Exécutez cette commande Get-ADUserdepuis PowerShell pour obtenir des informations détaillées et automatiser le processus.
  • Consultez les journaux de sécurité du contrôleur de domaine (ID d’événement 4720) pour savoir qui a créé un compte utilisateur.
  • Assurez-vous que les politiques d’audit sont activées pour suivre les événements de gestion des comptes utilisateurs.
  • Automatisez les audits quotidiens ou hebdomadaires grâce à des scripts et au planificateur de tâches.

Réflexions finales

Franchement, connaître ces astuces peut faire gagner un temps précieux, que ce soit pour des broutilles ou simplement pour maintenir une bonne organisation. Mettre en place un système d’audit dès le départ est l’idéal, mais même les vérifications rétroactives sont possibles. J’espère que cela permettra à certains de gagner quelques heures.