我想将CustomAttributes从我们的Exchange Online帐户复制到用户AD对象。
CustomAttributes 1-3将被复制到AD的ExtensionAttribute值(1-3)
我创建了一个脚本来自动执行此过程。
<following on from previous code>....
$ExtAttr= "ExtensionAttribute"
$i =1
$CustomAttr = ""
For($i =1; $i -lt 4; $i++)
{
$CustomAttr = get-mailbox $upn | Select CustomAttribute$i
Set-ADUser -server Server -Identity $LocalADUser.SamAccountName -Add @{"$ExtAttr$i"=$CustomAttr."CustomAttribute$i"}
}
直到我进入“ $ CustomAttr.CustomAttribute $ i”,此代码才起作用
如何修改最后一部分,以便CustomAttribute $ i属性根据当前$ i复制正确的值?
因此,如果$ i为1,则应将AD中当前的选择用户的CustomAttribute1复制到ExtensionAttribute1,对于Si = 2,则将CustomAttribute2复制到ExtensionAttribute2等。
答案 0 :(得分:0)
使用括号和一些字符串连接应该可以解决此问题。尝试更换:
-添加@ {“ $ ExtAttr $ i” = $ CustomAttr。“ CustomAttribute $ i”}
使用:
-添加@ {“ $ ExtAttr $ i” = $ CustomAttr。$(“ CustomAttribute” + $ i)}
答案 1 :(得分:0)
重新启动ISE并重新运行此脚本。值已正确复制到用户AD对象中。
很抱歉浪费您的时间