none
Вопрос по утилите dsmod RRS feed

  • Вопрос

  • Здравствуйте,

    Дело было так. Написал скрипт создающий контакты в AD, использовал утилиту dsmod contact для заполнения необходимых полей. В итоге оказалось что одно из заполненых полей, а именно -dept (Departament) не надо было заполнять. Необходимо очистить это поле, но утилита dsmod contact категорически отказывается принимать пустое значение ключа -dept, пробовал и "" и $null и даже <not set>. Скажите, как можно очистить данное поле?

    12 августа 2010 г. 11:45

Ответы

  • $FullName = "Иванов Александр Михайлович"
    $Comp = "НГДУ"
    dsmod contact "CN=$FullName,OU=$Comp,OU=Контакты,DC=mechservice,DC=ru" -company $Comp -dept ""

    dsmod failed:No value specified for 'dept'.


    Эээээ... постойте, вы из PoSh'ика dsmode вызываете? (я свою команду выполнял в обычном cmd)

    Если вы, таки, зовете dsmode из PoSh, то, подозреваю, что указания "", в качестве параметров вызова будет недостаточно. Попробуйте так '""' или так `"`" 

    PS Кроме того, не забывайте установить правильное значение для переменной $OutputEncoding, иначе у вас возниктнут проблемы с работой конвейера с внешними утилитами, например dsquery ...| dsmode...

    http://shss.wordpress.com/2009/12/28/powershell-profile/


    blog: http://shss.wordpress.com/
    • Помечено в качестве ответа Rinat Moustafin 13 августа 2010 г. 9:02
    13 августа 2010 г. 5:28

Все ответы

  • У меня нормально отработало с "":

    dsquery user -samid 33|dsmod user -dept ""


    dsmod succeeded:CN=11 22,OU=test1,DC=dest,DC=local

     

    Видимо, причина в чем-то другом. Покажите вашу команду и ответ системы на нее.


    blog: http://shss.wordpress.com/
    12 августа 2010 г. 14:08
  • $FullName = "Иванов Александр Михайлович"
    $Comp = "НГДУ"
    dsmod contact "CN=$FullName,OU=$Comp,OU=Контакты,DC=mechservice,DC=ru" -company $Comp -dept ""

    dsmod failed:No value specified for 'dept'.

    13 августа 2010 г. 5:04
  • $FullName = "Иванов Александр Михайлович"
    $Comp = "НГДУ"
    dsmod contact "CN=$FullName,OU=$Comp,OU=Контакты,DC=mechservice,DC=ru" -company $Comp -dept ""

    dsmod failed:No value specified for 'dept'.


    Эээээ... постойте, вы из PoSh'ика dsmode вызываете? (я свою команду выполнял в обычном cmd)

    Если вы, таки, зовете dsmode из PoSh, то, подозреваю, что указания "", в качестве параметров вызова будет недостаточно. Попробуйте так '""' или так `"`" 

    PS Кроме того, не забывайте установить правильное значение для переменной $OutputEncoding, иначе у вас возниктнут проблемы с работой конвейера с внешними утилитами, например dsquery ...| dsmode...

    http://shss.wordpress.com/2009/12/28/powershell-profile/


    blog: http://shss.wordpress.com/
    • Помечено в качестве ответа Rinat Moustafin 13 августа 2010 г. 9:02
    13 августа 2010 г. 5:28
  • Спасибо, оба способа работают корректно. За $OutputEncoding отдельное спасибо.

    13 августа 2010 г. 9:04
  • Да, не за что.

    На всякий случай, вдруг вы еще не знаете ;). Вместо dsquery|dsget|dsmod|... можно пользовать бесплатный набор комадлетов от Quest Software: ActiveRoles Management Shell for Active Directory. Это гораздо гибче и мощнее.

     


    blog: http://shss.wordpress.com/
    13 августа 2010 г. 10:42