2017-07-06 72 views
0

我有一個腳本,它匹配一個基於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 

然而,與設置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'.'. 
+0

用戶對象不是聯繫對象。 –

+0

比爾,這是同一個問題,只是提問不同,因爲我沒有得到對方的答案。 – 200mg

+0

我的確在其他問題的評論中回答了你的問題。 –

回答

1

我剛剛測試過它,它的工作原理如下:

a。獲取專有名稱聯繫人:

$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} 
+0

謝謝Bill,我錯過了get-adobject部分,這對我也很有用! – 200mg