Машины добавляются к группе безопасности, чтобы препятствовать тому, чтобы они получили GPO. Я хотел бы, чтобы машины были удалены после 30 дней того, чтобы быть в группе. Идеально, я хотел бы также смочь генерировать отчет о машинах в группе.
Что-то как:
MachineA - Оставлены 10 Дней
MachineB - Оставлены 29 Дней
При условии, что у вас есть контроллер домена Windows 2012, да!
Где мы можем найти подробности членства в группе?
Когда вы посмотрите на атрибут членства в AD группе, вы найдете список всех членов в формате с различающимся именем. Но это все. Нет ни дымящегося пистолета, ни отпечатков пальцев, указывающих на то, как они туда попали. Однако есть малоизвестная часть данных под названием replication metadata , которая может сказать нам, что именно нам нужно. Эти данные довольно специфичны для групп, поскольку они показывают нам дату, когда отдельные члены были добавлены и удалены. Потрясающе! Но если вы попробуете просмотреть их в графическом интерфейсе, они будут выглядеть как уродливые шестнадцатеричные
.[...]
Сценарий
Вот доброта PowerShell, которую мы ждали (также прилагается внизу сообщения):
Import-Module ActiveDirectory
$username = "janitor"
$userobj = Get-ADUser $username
Get-ADUser $userobj.DistinguishedName -Properties memberOf |
Select-Object -ExpandProperty memberOf |
ForEach-Object {
Get-ADReplicationAttributeMetadata $_ -Server localhost -ShowAllLinkedValues |
Where-Object {$_.AttributeName -eq 'member' -and
$_.AttributeValue -eq $userobj.DistinguishedName} |
Select-Object FirstOriginatingCreateTime, Object, AttributeValue
} | Sort-Object FirstOriginatingCreateTime -Descending | Out-GridView
Единственное, что я могу придумать для решения этой проблемы - это трюк, когда вы используете промежуточную группу в качестве динамического объекта, а затем вложенную группу, чтобы у пользователя были права, предоставленные первичной группе посредством вложенного членства в группе, однако, промежуточная группа имеет TTL (время жизни, атрибут entery-TTL), и когда TTL истекает, группа исчезает, и, таким образом, вложенное членство в группе исчезает. Назовите временную группу что-то вроде "MachineA 30 Day Temporary" или что-то вроде того.
Это называется "Динамические объекты"