0

我正在尝试更改属于某个 AD 组成员的用户的 AD 属性(Windows VPN,即路由和远程拨入服务)。这里没关系。但同时我需要排除那些在其他组中具有额外成员资格的用户的更改属性。假设所有用户都在“Office”组中。我可以使用下面的脚本对他们全部禁用 VPN。但在该组中还存在另外属于“VPN always on”组的用户。如何将它们排除在脚本操作之外。

这是我的工作脚本(不排除):

Get-ADGroupMember -Identity "Office" | where {$_.objectclass -eq "user"} | foreach { Set-ADUser -Identity $($_.distinguishedName) -clear msnpallowdialin}
4

1 回答 1

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
}
于 2019-04-25T13:13:57.343 回答