所以我有一個奇怪的任務,我正在嘗試清理我的 AD 成員資格,我需要為該任務撰寫一個 for 回圈。我們有分配給一個組的組,我們正在嘗試從組中洗掉這些組,因為不支持嵌套組。我有一個很好的 for 回圈,目前可以作業:
主要命令:
Get-ADGroup -Filter * | Select-Object -Property Name
上面的命令給了我所有域組的串列。我想獲取此串列并對其進行迭代,向我顯示組成員身份。
使用 ForEach-Object 陳述句:
Get-ADGroup -Filter * | Select-Object -Property Name | ForEach-Object { Get-ADGroupMember -Identity $_}
這不起作用,因為我無法將group_name字串回傳到$_單引號中。相反,我需要在$_運算子周圍回傳一個單引號,以便它回傳group_namein 'group_name'。
如何讓單引號回傳周圍group_name?
uj5u.com熱心網友回復:
宣告的問題:
Get-ADGroup -Filter * | Select-Object -Property Name | ForEach-Object { Get-ADGroupMember -Identity $_ }
$_那是指一個物件,它的屬性是Name并且不Get-ADGroupMember知道如何處理所述物件,如果相反,您指的是它應該正常作業的物件的屬性值:
... | ForEach-Object { Get-ADGroupMember -Identity $_.Name }
重要的是要注意,Select-Object在這種情況下,根本不需要,只會減慢您的腳本速度,此外,如果您想查找具有嵌套組作為成員的所有組,您可以使用過濾 cmdlet,例如Where-Object:
Get-ADGroup -Filter * | Where-Object {
(Get-ADGroupMember $_.DistinguishedName).where({ $_.ObjectClass -eq 'group' }, 'First')
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478638.html
標籤:电源外壳
