因此,我正在嘗試撰寫一個腳本,該腳本基本上獲取 AD 組串列,然后與每個組一起獲取成員和 memberof。
到目前為止,我有這個:
Import-Module ActiveDirectory
$groupList = get-adgroup -filter *| select-object Name | sort-object -property name
哪個作業正常。又好又簡單。沒問題。當我運行時write-output $groupList,它會吐出我的 AD 組串列。快樂的時光!
然后我添加這個:
foreach($group in $groupList){
Get-ADGroupMember -Identity $group
所以我的代碼塊看起來像這樣:
Import-Module ActiveDirectory
$groupList = get-adgroup -filter *| select-object Name | sort-object -property name
foreach($group in $groupList){
Get-ADGroupMember -Identity $group
}
并得到這個錯誤:
Get-ADGroupMember : Cannot bind parameter 'Identity'. Cannot create object of type
"Microsoft.ActiveDirectory.Management.ADGroup". The adapter cannot set the value of property "Name".
我也試過這個:
Get-ADGroup -filter * -Properties MemberOf | Where-Object {$_.MemberOf -ne $null} | Select-Object Name,MemberOf
在 Powershell 中效果很好:
作業腳本結果的影像
然而,當我在最后添加export-csv時,同樣的錯誤回傳:
匯出的 CSV 影像
有人可以教育我,因為毫無疑問它自己有點愚蠢。
謝謝。
uj5u.com熱心網友回復:
$groupList不直接包含字串/名稱陣列。
使用以下命令僅獲取名稱:
$groupList = Get-ADGroup -Filter * | Sort-Object -Property Name | Select-Object -ExpandProperty Name
MemberOf并且Members 是陣列。Export-Csv不知道如何將它們匯出到檔案中。這是一個例子,如何處理這個。
Get-ADGroup -Filter * -Properties MemberOf, Members | `
Select-Object -Property Name, @{Name = 'MemberOf'; Expression = {$_.MemberOf -join ';'}}, @{Name = 'Members'; Expression = {$_.Members -join ';'}} | `
Export-Csv -Path 'path' -NoClobber -NoTypeInformation
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405519.html
標籤:
