我正在尝试更改属于某些AD组成员的用户的AD属性(Windows VPN,即路由和远程拨入服务)。可以了但是同时,我需要排除那些在其他组中具有其他成员身份的用户的更改属性。假设所有用户都在“ Office”组中。我可以使用以下脚本将VPN全部禁用。但是在该组中还找到了用户,这些用户另外是“ VPN Always On”组的成员。如何从脚本操作中排除它们。
这是我的工作脚本(不排除):
Get-ADGroupMember -Identity "Office" | where {$_.objectclass -eq "user"} | foreach { Set-ADUser -Identity $($_.distinguishedName) -clear msnpallowdialin}
答案 0 :(得分:0)
几乎可以肯定有一种更好的方法,但是...
删除-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
}