要批量取消特定用户组的远程桌面权限,需用 PowerShell 的 Remove-LocalGroupMember 命令从 Remote Desktop Users 本地组中移除目标组成员身份,并建议配合组策略中的“允许通过远程桌面服务登录”设置统一管控。
要批量取消特定用户组的远程桌面权限,核心是通过 powershell 修改 windows 的“远程桌面用户”组成员关系,并确保目标组不再拥有远程登录权限。关键在于识别并移除指定用户组在 remote desktop users 本地组中的成员身份。
确认目标用户组与当前远程桌面权限组
Windows 默认允许 Remote Desktop Users 组的成员远程登录。如果你希望某个用户组(例如 FinanceTeam)无法远程登录,需确保它不在该组中。先检查当前成员:
- 以管理员身份打开 PowerShell
- 运行:
Get-LocalGroupMember -Group "Remote Desktop Users" - 观察输出,确认目标组(如
Domain\FinanceTeam或.\FinanceTeam)是否已存在其中
批量移除指定用户组的远程桌面权限
使用 Remove-LocalGroupMember 命令逐个移除目标组。若需处理多个组,可将组名存入数组后循环操作:
- 脚本示例(保存为
Remove-RDAccess.ps1):
$GroupsToRemove = @("FinanceTeam", "Interns", "Contractors")
foreach ($group in $GroupsToRemove) {
try {
Remove-LocalGroupMember -Group "Remote Desktop Users" -Member $group -ErrorAction Stop
Write-Host "已移除组 '$group' 的远程桌面权限" -ForegroundColor Green
}
catch {
if ($_.Exception.Message -like "*not found*") {
Write-Host "组 '$group' 不在 Remote Desktop Users 中,跳过" -ForegroundColor Yellow
} else {
Write-Host "移除 '$group' 时出错:$($_.Exception.Message)" -ForegroundColor Red
}
}
}
- 注意:若组位于域中,需用完整格式如
"DOMAIN\FinanceTeam";本地组用".\FinanceTeam" - 执行前务必以管理员身份运行 PowerShell
- 首次运行建议加
-WhatIf参数预览效果(如Remove-LocalGroupMember ... -WhatIf)
验证权限是否生效
移除操作本身不立即影响已建立的远程会话,但新连接将受限制:
- 再次运行
Get-LocalGroupMember -Group "Remote Desktop Users"确认目标组已消失 - 尝试用该组内某用户账号登录远程桌面,应提示“远程会话被拒绝”或“没有远程桌面权限”
- 若仍能登录,请检查是否还有其他方式授予权限(如直接添加用户到 Remote Desktop Users、通过 GPO 分配、或启用“允许用户远程连接到此计算机”策略但未限制组)
补充:通过组策略统一禁用(适用于域环境)
若部署在 Active Directory 环境中,更稳妥的方式是配合组策略控制:
- 编辑对应 OU 的 GPO → 计算机配置 → 策略 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配
- 找到“允许通过远程桌面服务登录”,双击后移除目标组
- 这样即使组被意外加回本地 Remote Desktop Users 组,策略也会覆盖并拒绝访问
- 执行
gpupdate /force刷新策略

















