Mat*_*ewC 5 windows powershell active-directory group-policy
计算机被添加到安全组以防止它们获得 GPO。我希望机器在加入组 30 天后被移除。理想情况下,我还希望能够生成关于组中机器的报告。
就像是:
MachineA - 还剩 10 天
MachineB - 还剩 29 天
Hop*_*00b 10
我们在哪里可以找到组成员资格的详细信息?
当您查看 AD 组的成员属性时,您会发现所有成员的可分辨名称格式列表。但就是这样。没有吸烟枪或指纹可以告诉您他们是如何到达那里的。但是,有一个鲜为人知的数据称为复制元数据,它可以准确地告诉我们我们需要什么。此数据对于组来说非常特殊,因为它向我们显示了添加和删除单个成员的日期。惊人的!但是,如果您尝试在 GUI 中查看它,它看起来像丑陋的十六进制。
[...]
剧本
这是我们一直在等待的 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
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |