【问题标题】:Adding manager attribute fails添加管理器属性失败
【发布时间】:2017-07-06 16:57:26
【问题描述】:

我有一个脚本可以根据 csv 中的电子邮件匹配联系人,我可以使用 get-adobject -ldapfilter 找到联系人,但是当我尝试将联系人添加为经理时,添加失败,说明找不到接触。它声称找不到的联系人清楚地存在于目录中。

此行将找到联系人:

$rmanager = Get-ADObject -SearchBase 'OU=workplace,OU=Contacts,DC=office,DC=com' -ldapfilter "(&(objectclass=contact)(name=$fname*)(name=*$lname))" 

找到相关联系人的示例...

PS C:\temp> Get-ADObject -SearchBase 'OU=workplace,OU=Contacts,DC=office,DC=com' -ldapfilter "(&(objectclass=contact)(name=$fname*)(name=*$lname))"

DistinguishedName Name ObjectClass ObjectGUID 
----------------- ---- ----------- ---------- 
CN=Nick Hill,OU=workplace,OU=Contacts,DC=office,DC=com Nick Hill contact b649bd7e-aac9-4d4b-8203-b6a79f35b91

但是,带有 set-aduser 的这一行将失败,说明它找不到明确存在的联系人...

get-aduser -f {mail -eq $username} |set-aduser -Manager "$rmanager"



set-aduser : Identity info provided in the extended attribute: 'Manager' could not be resolved. Reason: 'Cannot find an object with identity: 'CN=Nick Hill,OU=Workplace,OU=Contacts,DC=office,DC=com' under: 'DC=Office,DC=com'.'.

【问题讨论】:

  • 用户对象不是联系人对象。
  • 比尔,这是同一个问题,只是问的不同,因为我没有得到另一个问题的答案。
  • 我确实在对您的其他问题的评论中回答了您的问题。
  • 比尔,我的印象是经理属性只存储了一个DN,这个DN不能是联系人的DN吗?
  • 是的,您可以联系用户对象的经理,但不能使用Set-ADUser。不过,您似乎可以使用Set-ADObject

标签: powershell active-directory


【解决方案1】:

我刚刚对此进行了测试,它确实有效:

一个。获取联系人的专有名称:

$contactDN = Get-ADObject -LDAPFilter "(&(objectClass=contact)(givenName=firstname)(sn=lastname))"
  | Select-Object -ExpandProperty DistinguishedName

b.获取用户对象并替换manager属性:

Get-ADUser username | Get-ADObject | Set-ADObject -Replace @{"manager" = $contactDN}

【讨论】:

  • 谢谢比尔,我错过了 get-adobject 部分,这也适用于我!
猜你喜欢
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 2015-07-25
  • 2020-12-14
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多