возможно ли это?
Конечно, если вы храните журналы событий безопасности контроллера домена в течение такого длительного времени.
Создатель объекта не записывается в сам каталог, но информация заносится в журнал, предполагая правильно настроенную политику аудита на контроллерах домена.
Очевидно, что об этом легче сообщать, если у вас есть SIEM или хотя бы какое-то центральное хранилище журналов , Но если нет, вы можете запросить контроллеры домена непосредственно для этих журналов:
# Event id 5137 == a directory object was created
$EventId = 5137
# We only want events instigated by ourselves
$Subject = $env:USERNAME
# ... over the last month
$Since = (Get-Date).AddMonths(-1)
# Prepare XPath filter
$timestamp = Get-Date $Since -Format s
$XPathFilter = "*[System[TimeCreated[@SystemTime>'$timestamp']][EventID=$EventId]][EventData[Data[@Name = 'SubjectUserName'] = '$Subject']]"
# Search all the domain controllers
$ObjectCreationEvents = Get-ADDomainController -Filter * |ForEach-Object {
Get-WinEvent -FilterXPath $XPathFilter -LogName Security -ComputerName $_.HostName
}
Полученные события будут иметь уникальное значение objectGuid
каждого объекта, что позволяет нам легко найти их снова:
$ObjectCreationEvents |ForEach-Object {
# Extract object ID
$guid = $_.ToXml().SelectSingleNode('//*[local-name() = "Data" and @Name =
"ObjectGUID"]').InnerText
# Query the actual object
Get-ADObject -Identity $guid
}