Изменение свойств пользователей активного каталога на основе членства в группах с исключениями
Я пытаюсь изменить свойства AD (Windows VPN, т.е. служба маршрутизации и удаленного набора) пользователей, которые являются членами какой-либо группы AD. Здесь все в порядке. Но в то же время мне нужно исключить изменение свойств тех пользователей, которые имеют дополнительное членство в некоторых других группах. Допустим, все пользователи находятся в группе "Офис". Я могу отключить VPN для них с помощью скрипта ниже. Но в группе также находятся пользователи, которые дополнительно являются членами группы "VPN всегда включен". Как исключить их из действия сценария.
Вот мой рабочий скрипт (без исключения):
Get-ADGroupMember -Identity "Office" | where {$_.objectclass -eq "user"} | foreach { Set-ADUser -Identity $($_.distinguishedName) -clear msnpallowdialin}
1 ответ
Решение
Там почти наверняка лучший способ сделать это, но...
Удалите -WhatIf, чтобы действительно внести изменения
Get-ADGroupMember -Identity "Office" | where {$_.objectclass -eq "user"} | ForEach {
Get-ADUser -Identity $_ -Properties memberof , msnpallowdialin | Where-Object {!($_.memberof -like "*VPN USer Group*")} | Set-ADUser -Clear msnpallowdialin -whatif
}