【发布时间】:2020-01-28 20:12:03
【问题描述】:
如果我有.csv:
ClientCode,GroupCode
1234,ABC
1234,DEF
1235,ABC
1236,ABC
我想得到一个以ClientCode为键的哈希表,值是所有带有ClientCode的AD组,例如:
ClientCode GroupCode
---------- ---------
1234 ClientGroup_InAD_1234, some_other_client_1234
1235 ClientGroup_InAD_1235, some_other_client_in_AD_1235
1236 ClientGroup_InAD_1236
我该怎么做?
基本上,我在 Active Directory 中有客户端组,每个客户端都有一个与 csv 中的“ClientCode”相同的代码。例如,我可能有一个名为“Bob”的客户,我为其分配了一个代码“1234”。因此,AD 中 Bob 的组将是“Bob_1234”。本质上,我希望能够搜索其中包含 ClientCode 的任何组。所以我想搜索所有具有“1234”的广告组。这将返回“Bob_1234”,并且 AD 中的任何组的名称中也包含“1234”。
到目前为止我已经尝试过:
$clientTable = @{}
foreach($rec in $csv_data) {
$groups = @(get-adgroup -Filter "name -like '*$($rec.clientcode)_*'")
write-host "Found $($groups.count) group(s) for: $($rec.clientcode)"
$clientTable[$ClientCode] = @($groups)
}
$clientTable
但我没有得到我想要的输出
【问题讨论】:
-
clientcide 是否总是组名的最后一位,并且总是以
_开头?
标签: powershell active-directory