You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在ADUC可删除用户但PowerShell执行Remove-ADUser提示权限拒绝求助

解决Remove-ADUser权限拒绝问题(ADUC可删但脚本不行)

问题描述

我编写了以下PowerShell脚本用于删除AD中指定CSV文件里的用户:

$csvFilePath = "C:\path\to\file.csv"
Import-Csv -Path $csvFilePath | ForEach-Object {
    $username = $_.SamAccountName
    Remove-ADUser -Identity $username
}

通过ADUC(Active Directory Users and Computers)右键可以正常删除目标用户账号,但运行脚本时收到权限拒绝错误:

Remove-ADUser : Access is denied
CategoryInfo : PermissionDenied: (ACCOUNT I WANT TO DELETE:ADUser) [Remove-ADUser], UnauthorizedAccessException
FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.UnauthorizedAccessException,Microsoft.ActiveDirectory.Management.Commands.RemoveADUser

已尝试在标准终端和管理员终端运行,且使用了ADUC中能删除账号的同一特权账号启动PowerShell。

排查与解决步骤

  • 确认PowerShell会话的实际运行身份
    运行以下命令查看当前PowerShell会话的用户身份,确保和ADUC使用的账号完全一致(包含完整域名,如DOMAIN\AdminAccount):

    [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
    

    若身份不符,右键PowerShell选择「以其他用户身份运行」,重新输入特权账号的凭据启动会话。

  • 检查目标用户所在OU的权限继承与权限设置

    1. 打开ADUC,找到目标用户所在的OU,右键选择「属性」→「安全」选项卡
    2. 点击「高级」,确认「包括可从该对象的父项继承的权限」已勾选
    3. 检查你的特权账号是否拥有该OU的「删除」和「删除子对象」权限,若没有则添加对应权限
  • 尝试指定域控制器运行命令
    ADUC和PowerShell可能连接了不同的域控制器,导致权限同步延迟。在Remove-ADUser命令中添加-Server参数指定ADUC使用的域控制器:

    Remove-ADUser -Identity $username -Server "DC01.yourdomain.com"
    
  • 添加-Recursive参数处理关联对象
    部分用户账号可能包含子对象(如关联的联系人、组),ADUC删除时会自动处理这些关联,但Remove-ADUser默认不会。尝试添加-Recursive参数强制删除所有关联对象:

    Remove-ADUser -Identity $username -Recursive -Confirm:$false
    
  • 检查AD模块的执行策略
    确保PowerShell的执行策略允许运行脚本,可临时设置为RemoteSigned:

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    

内容的提问来源于stack exchange,提问作者Oliver Betts-Richards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:12:18