在Active Directory结构内部,组中的这些字段中设置了值
大约有300个组,其中包含一个或多个这些值,我正在寻找一种有效的方法来通过扩展表中的extensionAttribute2对这些值进行分组。
我希望检索的格式如下。我将它分开以使其更具可读性,但实际上是一个哈希表,其中extensionAttribute2的每个唯一值都设置为一个值,该值是extensionAttribute2中具有该值的组对象的数组。
@{
"001"=@(
Group-Object-1454,
Group-Object-221,
Group-Object-33,
...
)
"002"=@(
Group178,
Group2243,
Group3774,
...
)
...
}
我的尝试结束的不仅仅是咸味。我意识到我可以制作一个大的foreach外观并以这种方式构建它,但我希望这可以更有效地完成。
我认为这会有效,但失败了Select-Object: null parameter
Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 | Select-Object extensionAttribute2, $_ | Group-Object {$_.extensionAttribute2}
我做过的另一次尝试,虽然效果更好,但并不完全只返回了唯一的extensionAttribute2值
Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 | select-object extensionAttribute2 | Group {$_}
这返回了一些正确的方向,但我已经难以理解了。
@{
@{extensionAttribute2="001"},
@{extensionAttribute2="002"},
@{extensionAttribute2="003"},
...
}
有什么想法吗?
答案 0 :(得分:1)
这样的东西?
$ht = @{}
Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 |
foreach { $ht[$_.extensionattribute2] += @($_.name) }
$ht