Большинство атрибутов в MSAD однозначны и не представляют проблемы. Я знаком с dsquery user -samid jdoe | dsmod -webpg "http://some.url/"
метод. Однако некоторые атрибуты могут иметь несколько значений, например номер телефона и веб-страницу. Этими значениями можно управлять через консоль Microsoft Active Directory Users & Computers (dsa.msc) через диалоговое окно, показываемое при нажатии кнопки «Другое ...», но я бы предпочел сценарий изменений. Мне кажется, что dsmod и dsget не поддерживают поиск и редактирование нескольких значений; кажется доступным только первое значение из набора. Я прав? Если я не прав, я был бы признателен за пример синтаксиса. Если я прав, не могли бы вы порекомендовать альтернативный скриптовый инструмент, который может обрабатывать многозначные атрибуты? Чем более «официальный и поддерживаемый» инструмент - тем лучше.
Вы смотрели PowerGUI? Это хорошо для внесения массовых изменений в AD, поскольку он управляет powershell изнутри.
Первый, -webpg
не является многозначным списком веб-страниц. Используя другую кнопку веб-страницы в графическом интерфейсе, этот список веб-сайтов называется 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 для других значений.