我有作为另一个受信任的域中的联系人创build的域帐户,以便他们可以在他们的Exchange GAL中看到它们。
我需要一种方法来从UserA(用户帐户)的DomainA中提取电话号码字段,并将其导入到DomainB中的UserA(联系人)。
我得到的逻辑,只是代码(VBScript / PowerShell /什么),避开了我。
我所看到的逻辑是:
任何人都可以帮忙?
问题是如何将帐户与帐户的一方相匹配。 这将做提取。
任何关于如何进行匹配的想法? 你有两个共同的领域,如employeeID? 否则,可能需要复杂的多字段匹配。
get-aduser -filter * -searchbase "ou=users,dc=adomain,dc=com" -properties Telephonenumber|select displayname, givenname, sn, telephonenumber|export-csv phones.csv import-csv phones.csv| foreach { get-aduser -displayname $_.displayname -searchbase "ou=contacts dc=Bdomain,dc=com" | set-aduser -telephoneNumber $_.telephonenumber }
只要域A中的所有DisplayNames确实与域B中的DisplayNames匹配,下面的代码就可以做到这一点。
在域A中,运行:
Get-ADUser -filter * -properties TelephoneNumber,DisplayName | select DisplayName,TelephoneNumber | export-csv users.csv
在域B中,运行:
Import-CSV users.csv | ForEach { get-aduser -filter "displayname -eq '$($_.displayname)'" | set-aduser -replace @{telephonenumber="$($_.TelephoneNumber)"} }
请记住,虽然我自己对PowerShell相当陌生,所以我可能犯了一个错误。 我曾经在一个用户身上进行过testing,但没有进行大规模的testing。