MSAD中的大多数属性都是单值的,不会造成任何问题。 我熟悉dsquery user -samid jdoe | dsmod -webpg "http://some.url/" dsquery user -samid jdoe | dsmod -webpg "http://some.url/"方法。 但是,一些属性是多值的,例如电话号码和网页。 这些值可以通过Active Directory用户和计算机微软控制台(dsa.msc)通过单击“其他…”button显示的对话框进行pipe理,但我真的宁愿脚本修改。 在我看来,dsmod&dsget不支持多值检索和编辑; 只有该集合的第一个值似乎是可以访问的。 我对么? 如果我不正确,我将不胜感激一个语法示例。 如果我是正确的,你会推荐一个可以处理多值属性的替代脚本工具吗? 越“正式和支持”的工具,越好。
首先, -webpg不是网页的多值列表。 使用GUI中的网页另一个button,那个网站列表就是电话url 。 要查询它:
dsquery * "<full dn>" -l -attr url test2 test
但是,dsmod没有办法修改它。 PowerGUI可以工作,我使用admod 。
admod -safety 1 -b "full DN" "url:+:test3"
然后,我可以再次执行查询并查看新的值:
dsquery * "<full dn>" -l -attr url test3 test2 test
您可以浏览完整模式以查找其他值的LDAP名称。
你有没有看过PowerGUI? 这是一个善于对AD进行大规模更改,因为它在底层操纵PowerShell。