使用Get-ADUserResultantPasswordPolicy报错:找不到容器对象
解决Get-AdUserResultantPasswordPolicy找不到对象的问题
核对Identity参数的格式
这个cmdlet支持SID、GUID、用户名、用户DN等多种身份格式,但短用户名可能存在歧义。建议直接使用用户完整DN或对象GUID来指定,比如:Get-AdUserResultantPasswordPolicy -Identity "CN=张三,OU=员工,DC=company,DC=com"或者先通过Get-AdUser获取用户对象,再传入参数:
$targetUser = Get-AdUser -Identity "zhangsan" Get-AdUserResultantPasswordPolicy -Identity $targetUser确认用户与目标PSO的关联关系
即便PSO存在,也要确保用户或其所在OU确实被该PSO关联。可以通过ADAC查看用户属性中的「结果密码设置」,或者直接查询PSO的msDS-PSOAppliesTo属性,验证用户是否在应用列表内:Get-ADObject -Identity "<PSO的完整DN>" -Properties msDS-PSOAppliesTo检查执行权限
当前运行PowerShell的账号需要具备读取用户对象和PSO对象的权限。尝试以管理员身份启动PowerShell后再执行命令,排除权限受限的可能。验证域功能级别与AD模块版本
Get-AdUserResultantPasswordPolicy要求域功能级别至少为Windows Server 2008,同时ActiveDirectory模块版本需匹配环境。可以通过以下命令检查:# 查看AD模块版本 Get-Module ActiveDirectory # 查看域功能级别 Get-ADDomain | Select-Object DomainMode排查AD复制延迟
若为多域控制器环境,你在ADSIEdit中看到的PSO可能还未同步到当前连接的域控制器。可以指定域控制器执行命令,例如:Get-AdUserResultantPasswordPolicy -Identity "zhangsan" -Server "DC01.company.com"
内容的提问来源于stack exchange,提问作者sailingbikeruk
相关产品推荐
相关产品推荐

