脚本帮助 – 需要获取AD帐户的电话号码,然后将其添加到受信任域中的联系人

我有作为另一个受信任的域中的联系人创build的域帐户,以便他们可以在他们的Exchange GAL中看到它们。

我需要一种方法来从UserA(用户帐户)的DomainA中提取电话号码字段,并将其导入到DomainB中的UserA(联系人)。

我得到的逻辑,只是代码(VBScript / PowerShell /什么),避开了我。

我所看到的逻辑是:

  1. 连接到源AD(ou /子树)
  2. 从OU和子容器中提取用户帐户,包括名字,姓氏,显示名称和电话号码
  3. 连接到目标AD(ou /子树)
  4. 根据显示名称validation/匹配上面#2中的提取
  5. 提取电话号码更新电话字段
  6. 写成功和失败的日志

任何人都可以帮忙?

问题是如何将帐户与帐户的一方相匹配。 这将做提取。

任何关于如何进行匹配的想法? 你有两个共同的领域,如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。