Вторник, 28 мая 2013 08:53

DSMOD user

Оцените материал
(4 голосов)

Dsmod- это инструмент командной строки, встроенный в Windows Server 2008 служащий для изменения данных пользователя, контакта, компьютера, группы и т.д. Чтобы запустить команду необходимо открыть командную строку, для того что бы открыть командную строку нажмите кнопку "Пуск", щелкните правой кнопкой мыши "Командная строка" и выберите команду "Запуск от имени администратора".

Синтаксис команды dsmod user:
      dsmod user <DN_пользователя...> [-upn <UPN>] [-fn <имя>] [-mi <инициал>] [-ln <фамилия>] [-display <отобр_имя>] [-fnp <ф_имени>] [-lnp <ф_фамилии>] [-displayp <ф_отобр_имени>][-empid <ID_сотрудника>] [-pwd {<пароль> | *}] [-desc <описание>] [-office <офис>] [-tel <#телефона>]  [-email <email>] [-hometel <#дом_телефона>] [-pager <#пейджера>] [-mobile <#мобильного>] [-fax <#факса>] [-iptel <#IP_телефона>] [-webpg <веб_стр>] [-title<Title>] [-dept <отдел>] [-company <организация>] [-mgr <руководитель>] [-hmdir <дом_каталог>] [-hmdrv <диск>] [-profile <путь_профиля>] [-loscr <путь_сценария>] [-mustchpwd {yes | no}] [-canchpwd {yes | no}] [-reversiblepwd {yes | no}] [-pwdneverexpires {yes | no}] [-acctexpires <дни>] [-disabled {yes | no}] [{-s <сервер> | -d <домен>}] [-u <пользователь>] [-p {<пароль> | *}] [-q] [{-uc | -uco | -uci}] [-fnp <ф_имени>] [-lnp <ф_фамилии>] [-displayp <ф_отобр_имени>]

Параметры:

Значение Описание
<DN_пользователя ...> Обязательный или stdin. Различаемые имена (DN) одного или нескольких пользователей для изменения. Если конечные объекты не указаны, они берутся из стандартного ввода (stdin) при передаче данных по именованным каналам из другой команды на вход этой команды.
-upn <UPN>
Задает для имени UPN значение <UPN>.
-fn <имя> Задает для имени пользователя значение <имя>.
-mi <инициал> Задает для инициала пользователя значение <инициал>.
-ln <фамилия> Задает для фамилии пользователя значение <фамилия>.
-display <отобр_имя> Задает для отображаемого имени пользователя значение <отобр_имя>.
-fnp <фонет_имя> Задает для фонетического имени пользователя значение <фонет_имя>.
-lnp <фонет_фамилия> Задает для фонетической фамилии пользователя значение <фонет_фамилия>.
-displayp <отобр_фонет_имя> Задает для отображаемого фонетического имени пользователя значение <отобр_фонет_имя>.
-empid <ID_сотрудника> Задает для пользователя код сотрудника <ID_сотрудника>.
-pwd {<пароль> | *} Задает пароль пользователя <пароль>. Если указана *, то выводится приглашение ввести пароль.
-desc <описание>  Задает описание пользователя <описание>.
-office <офис> Задает расположение офиса пользователя <офис>.
-tel <телефон> Задает номер телефона пользователя <телефон>.
-email <почта> Задает адрес электронной почты пользователя <почта>.
-hometel <домашний> Задает номер домашнего телефона пользователя <домашний>.
-pager <пейджер> Задает номер пейджера пользователя <пейджер>.
-mobile <сотовый> Задает номер сотового телефона пользователя <сотовый>.
-fax <факс>  Задает номер факса пользователя <факс>.
-iptel <IP_телефон> Задает номер IP-телефона пользователя <IP_телефон>.
-webpg <веб-стр>  Задает URL-адрес веб-страницы пользователя <веб-стр>.
-должность <Title> Задает должность пользователя <Title>.
-dept <отдел>
Задает отдел пользователя <отдел>.
-company <организация>  Задает организацию пользователя <организация>.
-mgr <руководитель> Задает руководителя пользователя <руководитель>.
-hmdir <осн_каталог>
Задает основной каталог пользователя <осн_каталог>. Если задается путь UNC, необходимо сопоставить этому пути букву диска с помощью параметра -hmdrv.
-hmdrv <диск>:
Задает букву домашнего диска пользователя <диск>:
-profile <путь_профиля> Задает путь профиля пользователя <путь_профиля>.
-loscr <путь_сценария> Задает путь сценария входа пользователя <путь_сценария>.
-mustchpwd {yes | no} Указывает, должен ли пользователь менять свой пароль при следующем входе.
-canchpwd {yes | no} Указывает, может ли пользователь менять свой пароль при следующем входе. Этот параметр должен иметь значение yes если для параметра -mustchpwd задано значение yes.
-reversiblepwd {yes | no} Указывает сохранение пароля пользователя с помощью обратимого шифрования (yes) или без него (no).
-pwdneverexpires {yes | no} Указывает, что пароль не имеет срока действия (yes) или имеет срок действия (no).
-acctexpires <дни> Указывает, что срок действия учетной записи кончается через число дней <дни> от текущей даты. Значение 0 задает окончание срока действия в конце текущего дня. Положительное значение задает окончание срока в будущем. Отрицательное значение задает окончание срока в прошлом. Строковое значение never указывает, что учетнаязапись бессрочная.
-disabled {yes | no}  Указывает, что учетная запись пользователя отключена (yes) или не отключена (no).
{-s <сервер> | -d <домен>}    -s <сервер> задает подключение к контроллеру домена Active Directory или экземпляру службы Active Directory облегченного доступа к каталогам с именем <сервер>.
   -d <домен> задает подключение к контроллеру домена Active Directory в домене <домен>. По умолчанию: контроллер домена Active Directory в домене входа.
-u <имя_пользователя>  Подключение с именем <имя_пользователя>. По умолчанию: пользователь, вошедший в систему. Формат имени: имя пользователя, домен\имя пользователя или имя пользователя-участника (UPN).
-p <пароль> Пароль пользователя <имя_пользователя>. Если задана *, выводится приглашение ввести пароль.
-c   Режим непрерывной работы. Возвращаются сообщения об ошибках и продолжается обработка следующего объекта в списке аргументов, если задано несколько объектов. Если этот параметр не задан, команда завершается при первой же ошибке
-q   Тихий режим: подавление всего вывода для стандартного вывода.
{-uc | -uco | -uci}
-uc Задает вход с канала или вывод на канал в форматеЮникод.
   -uco Задает вывод на канал или в файл в формате Юникод.
   -uci Задает вход с канала или из файла в формате Юникод.


Примечания.
Если указываемое значение содержит пробелы, заключите его в кавычки
(например, "CN=Ivan Ivanov,CN=Users,DC=pk-help,DC=com").
Несколько значений вводятся через пробел (например, список различающихся имен).

Примеры.
Сброс пароля пользователя:

    dsmod user "CN=Ivan Ivanov,CN=Users,DC=pk-help,DC=com" -pwd Fdg@sd -mustchpwd yes

Сброс паролей нескольких пользователей на один общий пароль и принудительное изменение пароля пользователем при следующем входе в систему:

    dsmod user "CN=Ivan Ivanov,CN=Users,DC=pk-help,DC=com" "CN=Irina Ivanova,CN=Users,DC=microsoft,DC=com" -pwd Hfgh#sdg89 -mustchpwd yes

Отключение нескольких учетных записей пользователей:

    dsmod user "CN=Ivan Ivanov,CN=Users,DC=pk-help,DC=com" "CN=Irina Ivanova,CN=Users,DC=microsoft,DC=com" -disabled yes

Изменение пути профиля нескольких пользователей на общий путь с использованием подстановочной переменной $username$:

    dsmod user "CN=Ivan Ivanov,CN=Users,DC=pk-help,DC=com" "CN=Irina Ivanova,CN=Users,DC=pk-help,DC=com" -profile \users\$username$\profile

Если вам необходимо изменить атрибуты пользователей, и этот атрибут уникален (например номер телефона) использование этой команды кажется неудобной, НО если подключить использование EXCEL, то задача по изменению уникального для каждого пользователя атрибута становится делом техники.

Для примера рассмотрим следующую задачу:

Имеется EXCEL файл в котором прописанный ФИО пользователя (email) и телефон. Необходимо внести эти данные в AD, т.е. каждому пользователю указать его номер телефона в AD.

Для выполнения этой задачи нам необходимо выполнить команду CSVDE в Командной строке.

csvde -f C:\temp\All-USER.csv -d ou=Departments,DC=pk-help,DC=com -r "(&(objectcategory=person)(objectclass=user))" -l DN,mail


Эта команда создаст файл на диске С в папке temp в котором будут все пользователи подразделения Departments (точнее их DN и mail). Если вы будете сверять исходный файл с телефонами по ФИО- вам понадобится DN, если по почтовому ящику, то соответственно mail. Далее с помощью функции EXCEL ВПР сопоставляем DN пользователя и его номер телефона

Далее с помощью EXCEL функции СЦЕПИТЬ добавляем необходимые команды.

После этого копируем в файл txt, сохраняем, переименовываем расширения файла в bat. В итоге получился bat файл запустив который вы внесете необходимые изменения в атрибут- телефон, каждого пользователя.

Естественно этот метод будет слишком трудоемким для изменения телефонов у 10 пользователей, но если вам необходимо поменять атрибут у 1000 пользователей, то этот способ является одним из решений.

Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:


Комментарии  

0 # Игорь 18.07.2014 06:53
Уважаемый автор.
Ты пишешь, как работать с командной строкой, почему не описываешь, как запустить программу под иным юзером из командной строки? Не думаю, что тему о том, как что-то курочить в DC будут читать обычные юзеры.
runas ещё никто не отменял ;) главное ведь оптимизация процессов - сокращение времени и трудозатрат.

Пример:
win+r > cmd
>runas /noprofile /user:mymachine \administrator dsmod и т.д.
или:
win+r > runas /noprofile /user:mymachine \administrator cmd
Ответить
0 # Nick 18.07.2014 08:58
Я думаю это не совсем сюда относится, но безусловно полезная информация, спасибо :-)
Ответить
-1 # Игорь 18.07.2014 09:39
>Я думаю это не совсем сюда относится
Так, а всё остальное ты описал :-)
Ответить
+1 # Nick 18.07.2014 09:52
:roll: ага
Ответить
0 # Тол 18.06.2013 18:28
не получается, в ответ приходит какие то каракули вместо русских слов (они у меня в имени пользователя используются)
Ответить
-1 # Nick 18.06.2013 18:31
Необходимо в командной строке изменить шрифт на Lucida Console и выполнить последовательно команды
chcp 1251
SET NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
После этого командная строка начнет понимать русский язык и команды должны выполниться
Ответить

Добавить комментарий