dsmod user title - Значение для "Целевого объекта для этой команды" имеет неверный формат

Я хочу изменить поле заголовка большого количества пользователей в Active Directory, которое я перечислил в файле CSV.

Я могу получить каждый атрибут, связанный с пользователем, если я запустите это:

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%UsrFld%))" -attr * -limit 0

Однако, если я попытаюсь сделать следующее, чтобы отредактировать поле "title", используя это:

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%promptusername%))" -attr * -limit 0| dsmod user -title Disabled User

Я получаю следующую ошибку:

dsmod failed:Value for 'Target object for this command' has incorrect format.

Теперь, очевидно, DSMOD говорит мне, что он не может интерпретировать первую половину моего синтаксиса как объект для редактирования. У меня вопрос, как мне отредактировать поле заголовка с запросом, который я использую?

Заранее спасибо!

1 ответ

Проблема здесь в том, что выходные данные из dsquery представляют собой все атрибуты объекта пользователя, а dsmod просто ожидает userDN. К сожалению, я столкнулся с этим, пытаясь использовать dsquery * с почтовым полем. У меня была команда dsquery, которая вывела только attr of detachedName, но вывод был без кавычек.

Мой dsquery: dsquery * domainroot -filter "(&(objectcategory=person)(objectclass=user)(mail=somedude@contoso.com))" -attr diverishedName -L

Вывод: CN = Some Dude, OU = BitInspector, OU = Bit Makers, OU = Mfgs, DC = Contoso, DC = Com

Dsmod ожидает ввода с такими кавычками: "CN=Some Dude,OU=BitInspector,OU=Bit Makers,OU=Mfgs,DC=Contoso,DC=Com", потому что в userDN есть пробелы, и, следовательно, нужны кавычки.

К сожалению, я так и не смог понять, как поместить кавычки в вывод dsquery, поэтому я перешел к PowerShell.

Другие вопросы по тегам