【发布时间】:2018-02-15 04:53:13
【问题描述】:
我正在处理 AD 嵌套组,需要一些帮助。
代码如下:
function Extract-Users($group, $array) {
$members = Get-ADGroupMember -Identity $group.Name
foreach ($member in $members) {
if ($member.objectClass -eq "user") {
$Admin = New-Object PSObject
$Admin | Add-Member -Type NoteProperty -Name User -Value $user.Name
$Admin | Add-Member -Type NoteProperty -Name Group -Value $group.Name
$array += $Admin
Remove-Variable Admin
return $array
} elseif ($member.objectClass -eq "group"){
Extract-Users $member, $object
}
}
}
问题是我希望能够像这样调用函数:
$ADGroups = Get-ADGroup -Filter {Name -like "*admin*"}
$Admins = @()
foreach ($group in $ADGroups) {
Extract-Users $group $Admins
}
并将函数中创建的所有对象存储到我要扔到函数中的变量中。这样我提取的所有用户都存储到 $Admins 数组中。我知道我可以全部手动编写,但我想知道是否有动态的方法。
谢谢大家
【问题讨论】:
-
在您的代码中,您将返回 $object。但是,$object 没有在任何地方定义。
-
抱歉,$array 已更改
-
$FinalArray += Extract-Users $group $Admins -
Get-ADGroupMember -Recursive? -
用于通过引用see here传递参数。
标签: .net powershell active-directory