无法设置AD用户DirectReport属性的问题求助
无法设置AD用户DirectReport属性的问题求助
看起来你搞混了AD用户属性设置的逻辑和PowerShell命令的参数用法,我来帮你理清楚:
为什么你的两次尝试都没达到预期效果?
- 第一次命令报错的原因
你用的
Set-ADUser -directreports是错误的,因为Set-ADUser cmdlet根本没有名为directreports的参数——这个属性是Get-ADUser可以读取的,但设置的时候需要用通用的属性修改参数来操作。
- 第二次命令无效的原因
你用的
-manager参数是用来设置当前用户的上级经理,也就是把jamesc设成NykkieG的老板,而不是把jamesc设成NykkieG的直接下属(这才是directreports属性的作用),方向完全搞反啦!
正确的操作方法
要给NykkieG添加/替换直接下属,本质是修改NykkieG的directreports多值属性(这个属性存储的是下属用户的DistinguishedName,简称DN,AD属性操作必须用DN,不能直接用短用户名)。具体步骤如下:
- 先获取目标下属用户
jamesc的DistinguishedName:
$jamesDN = (Get-ADUser jamesc).DistinguishedName
根据你的需求选择对应的命令:
- 如果要替换所有直接下属(把原来的Rebecca换成jamesc):
Set-ADUser NykkieG -Replace @{directreports = $jamesDN}- 如果要添加新的直接下属(保留原来的Rebecca,新增jamesc):
Set-ADUser NykkieG -Add @{directreports = $jamesDN}- 如果之后需要移除某个下属(比如去掉Rebecca):
$rebeccaDN = (Get-ADUser Rebecca).DistinguishedName Set-ADUser NykkieG -Remove @{directreports = $rebeccaDN}验证修改是否生效:
Get-ADUser NykkieG -Properties directreports | Select-Object Name, directreports
备注:内容来源于stack exchange,提问作者ppau2004
相关产品推荐
相关产品推荐

