我正在尝试更改某些AD组成员用户的AD属性(Windows VPN,即路由和远程拨入服务)。这里好的。但与此同时,我需要排除那些在其他一些组中拥有其他成员资格的用户的更改属性。假设所有用户都在“Office”组中。我可以使用下面的脚本禁用所有VPN。但是在该组中还定位了另外成为“VPN always on”组的用户。如何从脚本操作中排除它们。
这是我的工作脚本(没有排除):
Get-ADGroupMember -Identity "Office" | where {$_.objectclass -eq "user"} | foreach { Set-ADUser -Identity $($_.distinguishedName) -clear msnpallowdialin}
几乎可以肯定有更好的方法,但......
删除-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
}