Я хочу создать сценарий, который будет показывать только пользователей в 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*")}