我想從以特定字串結尾的約 600 個 AD 組中檢索 SamAccountName。
例如:
AD Groups:
AAA-BBB-XXX
CCC-DDD-XXX
EEE-FFF-XXX
現在,我想獲取所有以 XXX 結尾的 AD 組的 SamAccountName,但還要獲取 SamAccountName 和 AD-group 之間的關系,以便我知道它們屬于哪個 AD 組。所以:
SamAccountName | AD GROUP
------------------------------
Bernie.Sanders | AAA-BBB-XXX
Donald.Trump | AAA-BBB-XXX
Barack.Obama | AAA-BBB-XXX
Joe.Biden | CCC-DDD-XXX
我已經使用 -like 和 -filter 運算子將所有 XXX AD 組匯出到 .csv。我已經使用 Get-ADGroupMember 和 -identity 運算子管理了所有 SamAccountName 的匯出。
但是,由于我是 PS 新手,我(還)無法創建上述串列。我正在尋找一些“在哪里”宣告并需要一些指導。
謝謝
uj5u.com熱心網友回復:
為此,您可以使用計算屬性將Select-Object“AD 組成員”與“AD 組名稱”結合起來。要過濾與您的條件匹配的組,在這種情況下,以 XXX 結尾,您可以使用-LDAPFilteror -Filterfrom Get-ADGroupcmdlet。
$filter = "(samAccountName=*XXX)" # => Ends with XXX
$result = foreach($group in Get-ADGroup -LDAPFilter $filter)
{
# Here all groups ending with XXX are being enumerated
Get-ADGroupMember $group | Select-Object @{
Name = 'ADGroup'
Expression = { $group.samAccountName }
}, samAccountName, ObjectClass
}
$result | Export-Csv ....
請注意,AD 組可以擁有不僅是 users的成員,如果您想要他們的類是“User”的組成員,您可以添加Where-Object或.Where()方法:
Get-ADGroupMember $group |
Where-Object { $_.ObjectClass -eq 'user' } |
Select-Object ....
(Get-ADGroupMember $group).Where({
$_.ObjectClass -eq 'user'
}) | Select-Object ....
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/412550.html
標籤:
