создать пустой массив AD-User - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь выполнить рекурсивный анализ групп объявлений с некоторыми исключениями, поэтому я создал следующий код:

function recurse_adgroup {
    param($adgroup)
    $members_return = @{}
    #echo $adgroup
    $members = Get-ADGroupMember $adgroup | where {$_.Name-notlike"abc" -and $_.Name-notlike"cdf"}
    foreach ($member in $members){
        #echo "$($member.name)"
        if ($member.objectClass-eq'group'){
            recurse_adgroup $member.name
        }
        else{
            $members_return.Add($member)


        }
    }
   return $members_return
}

, очевидно, он не работает. Я думаю, потому что мне нужно создать массив, чтобы я мог добавлять в него пользователей. Как мне это сделать?

Спасибо за вашу помощь заранее!

1 Ответ

0 голосов
/ 08 апреля 2020

Попробуйте следующее:

    $members = Get-ADGroupMember $adgroup | where {$_.Name-notlike"abc" -and $_.Name-notlike"cdf"}
    $members_return = foreach ($member in $members){
        if ($member.objectClass-eq'group'){
            recurse_adgroup $member.name
        }
        else{
            [PSCustomObject]@{
                "GroupName" = $member
            }
        }
    }
   return $members_return

Я не уверен, что должен делать блок if, но вы можете попробовать оператор else. Идея состоит в том, чтобы постоянно добавлять нового члена в PSCustomObject. Я бы посоветовал вам на самом деле поменять блоки друг с другом. $members_return должен вернуть объект всем выбранным пользователям группы AD.

...