批量取消VPN权限
$USER = Get-ADUser -SearchBase "DC=im30,DC=com" -Filter 'msNPAllowDialin -eq $True -and Enabled -eq $True' -Properties msNPAllowDialin
# 将msNPAllowDialin设置为【通过NPS网络策略控制访问】
$USER | ForEach-Object {Set-ADUser $_.SamAccountName -Clear msNPAllowDialin}
# 将msNPAllowDialin设置为【允许访问】
# Set-ADUser $USER.Trim() -Replace @{msNPAllowDialin=$true}
说明:
msNPAllowDialin
的默认值是【通过NPS网络策略控制访问】;- 还可以将其设置为允许访问(
$true
)、拒绝访问($false
)
- 还可以将其设置为允许访问(
- 若
msNPAllowDialin
的值不是True或False,在查看属性时,则不显示msNPAllowDialin
字段; - 因此,若要将
msNPAllowDialin
恢复默认值,需直接删除该属性字段,而非设置为$null
(会报错)Set-ADUser $_.SamAccountName **-Clear** msNPAllowDialin
批量开通VPN权限
Import-Csv "D:\all_vpn_user.csv"|
ForEach-Object {Set-ADUser $_.SamAccountName -Replace @{msNPAllowDialin=$true}}