Назад | Перейти на главную страницу

Powershell - запросить нестандартных членов группы в OU?

Я хочу создать сценарий, который будет показывать только пользователей в OU, которые являются членами «нестандартных» групп.

Например, все пользователи в OU «Бухгалтерия» будут членами как минимум одной группы с «Учетом» в своем имени. Пример: «XYZ-Accounting-Global». Это наше стандартное групповое именование. Тех пользователей, у которых есть только членство в группе «Бухгалтерия», можно пропустить.

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

Пока что я придумал это:

$domain = "DC=company,DC=com"

$dept = read-host "What is the DEPT. name?"

Get-ADuser -SearchBase "OU=$dept,OU=Users,OU=company,$domain" -Filter * -properties memberof | Where-Object {!($_.memberof -like "*$dept*")}

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

Любая помощь приветствуется. Спасибо.

Кажется, он возвращает тех пользователей, которые не являются членами группы с именем $ dept в ней

Это, безусловно, из-за ! вы используете в своем Where-Object фильтр, что означает not.

Попробуйте убрать восклицательный знак:

Where-Object {($_.memberof -like "*$dept*")}

редактировать

Что касается вашего комментария, вы можете попробовать:

Where-Object {($_.memberof -notlike "*$dept*")}