Поиск в PowerShell в Active Directory - PullRequest
0 голосов
/ 17 июня 2020

Мне было поручено разработать инструмент, который выполняет поиск в Active Directory, чтобы увидеть всех пользователей в группе. Теперь это немного сложнее. Инструмент должен запрашивать у пользователя ввод данных, на основе которых он ищет определенную группу c, соответствующую вводу. Например: я ввожу T4, он извлекает группу безопасности T4Admin в искомом OU. Эту часть я сделал без проблем.

Теперь, когда я застрял, мне нужно найти пользователей, содержащих определенную строку «_OUAdmin», а затем вытащить их в переменную.

Мой код (за исключением пути к OU в целях безопасности) :

#Prompts the user for OU Prefix and stores in the "ouPrefix" variable.
$searchPrefix = Read-Host -Prompt 'Please enter desired OU Prefix'

#Searches Active Directory for desired OU Prefix.
$selectedPrefix = Get-ADgroup -SearchBase "OU Path Cannot disclose" -Filter ('Name -like "*' + $searchPrefix + '*"')

#Pulls all group members from $selectedPrefix that contain "_OUAdmin". This is where I need help
#Help Needed Here!

#Removes "_OUAdmin" from all members.
#$modifiedAdmins =

#Appends "@test.com" to all members.
#$ouContacts =

#Displays Results of all OU Admin contacts in specified OU Prefix.
#Write-Host "OU Admins of '$searchPrefix' are $ouContacts"

Мне нужна помощь только в этом разделе под названием «Здесь нужна помощь!».

Я новичок в PowerShell, и поэтому мне не хватает чего-то простого, но помощь или руководство приветствуются.

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Не было бы:

$selectedPrefix | Get-ADGroupMember | Where-Object {$_.name -like "*_OUAdmin*"}

Или мне не хватает чего-то очевидного

0 голосов
/ 17 июня 2020

Вот возможная отправная точка для вас:

$gm = @()

 ForEach ($member in $selectedPrefix) {
    $memberType = $member.objectClass
       If ($memberType -eq 'user' -and $member.SAMAccountName -like '*_OUAdmin*' ) {
            $gm += $member.name
            }
        }

Значение $ gm теперь должно равняться каждому члену группы, имеющему имя OUAdmin в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...