批量取消VPN权限

  1. $USER = Get-ADUser -SearchBase "DC=im30,DC=com" -Filter 'msNPAllowDialin -eq $True -and Enabled -eq $True' -Properties msNPAllowDialin
  2. # 将msNPAllowDialin设置为【通过NPS网络策略控制访问】
  3. $USER | ForEach-Object {Set-ADUser $_.SamAccountName -Clear msNPAllowDialin}
  4. # 将msNPAllowDialin设置为【允许访问】
  5. # Set-ADUser $USER.Trim() -Replace @{msNPAllowDialin=$true}

说明:

  • msNPAllowDialin的默认值是【通过NPS网络策略控制访问】;
    • 还可以将其设置为允许访问($true)、拒绝访问($false
  • msNPAllowDialin的值不是TrueFalse,在查看属性时,则不显示msNPAllowDialin字段;
  • 因此,若要将msNPAllowDialin恢复默认值,需直接删除该属性字段,而非设置为$null(会报错)
    • Set-ADUser $_.SamAccountName **-Clear** msNPAllowDialin

image.png

批量开通VPN权限

all_vpn_user.csv
image.png

Import-Csv "D:\all_vpn_user.csv"| 
ForEach-Object {Set-ADUser $_.SamAccountName -Replace @{msNPAllowDialin=$true}}