on error resume next
Set objUser = GetObject("LDAP://CN=" & sAMAccountName & _
"ou=usuarios,dc=quahog,dc=edu,dc=br")
do while objUser = true
objUser.Put "objUser.otherMailbox", "objUser.mail"
objUser.Put "objUser.mail", "objUser.userPrincipalName"
loop
wscript.echo "Done"
我正在尝试在Active Directory中交换一些属性:我希望我的实际电子邮件属性(恰好是mail
)是我的otherMailbox
。然后,我希望我的实际登录用户名(我认为是objUser.userPrincipalName
)也是我的新电子邮件。
答案 0 :(得分:0)
VBScript调试步骤1:删除On Error Resume Next
,看看有什么中断。
AFAICS您的代码有3个问题(除了OERN
):
objUser
是一个对象,而不是布尔值,因此objUser = True
将失败。Put
方法需要将属性名称作为第一个参数,将属性的新值作为第二个参数。将您的代码更改为:
Set objUser = GetObject("LDAP://CN="& sAMAccountName & _
"ou=usuarios,dc=quahog,dc=edu,dc=br")
objUser.Put "otherMailbox", objUser.mail
objUser.Put "mail", objUser.userPrincipalName
objUser.SetInfo
WScript.Echo "Done"
查看ActiveXperts脚本存储库以获取更多示例。
答案 1 :(得分:0)
Set objUser = GetObject("LDAP://CN=Peter Griffin,ou=usuarios,dc=quahog,dc=edu,dc=br")
objUser.Put "otherMailbox", objUser.mail
objUser.Put "mail", objUser.userPrincipalName
objUser.SetInfo
wscript.echo "done"
上面的代码运行完美,但如果我将CN更改为sAMAccountName,我会收到此错误: 我收到了这个错误: