Изменение свойств пользователей активного каталога на основе членства в группах с исключениями

Я пытаюсь изменить свойства 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
}
Другие вопросы по тегам