Powershell включить учетную запись компьютера ad

Обновлено: 07.07.2024

Управление Active Directory (AD) с помощью Windows PowerShell – это проще, чем Вы думаете, и я хочу доказать Вам это. Вы можете просто взять приведенные ниже скрипты и с их помощью решить ряд задач по управлению AD.

Требования

Чтобы использовать PowerShell для управления AD, нужно соблюсти несколько требований. Я собираюсь продемонстрировать, как командлеты для AD работают на примере компьютера на Windows 7.
Чтобы использовать командлеты, контроллер домена у Вас должен быть уровня Windows Server 2008 R2, или же Вы можете скачать и установить Active Directory Management Gateway Service на наследуемых контроллерах домена (legacy DCs). Внимательно прочитайте документацию перед установкой; требуется перезагрузка КД.
На стороне клиента, скачайте и установите Remote Server Administration Tools (RSAT) либо для Windows 7, либо для Windows 8. В Windows 7, Вам необходимо будет открыть в Панели управления (Control Panel) раздел Программы (Programs) и выбрать Включить или выключить функции Windows (Turn Windows Features On or Off). Найдите Remote Server Administration Tools и раскройте раздел Role Administration Tools. Выберите подходящие пункты для AD DS and AD LDS Tools, особенно обратите внимание на то, что должен быть выбран пункт Active Directory Module for Windows PowerShell, как показано на рисунке 1. (В Windows 8 все инструменты выбраны по умолчанию). Теперь мы готовы работать.



Рис.1 Включение AD DS и AD LDS Tools

Я вошел в систему под учетной записью с правами доменного администратора. Большинство командлетов, которые я буду показывать, позволят Вам уточнить альтернативные полномочия (credentials). В любом случае я рекомендую прочитать справку (Get-Help) и примеры, которые я буду демонстрировать ниже.
Начните сессию PowerShell и импортируйте модуль:

В результате импорта создается новый PSDrive, но мы не будем использовать его. Однако, Вы можете посмотреть, какие команды имеются в импортированном модуле.

Прелесть этих команд в том, что если я могу использовать команду для одного объекта AD, то ее можно использовать для 10, 100 и даже 1000. Посмотрим, как некоторые из этих командлетов работают.

Задача 1: Сброс пароля пользователя

Давайте начнем с типичной задачи: сброс пароля пользователя. Сделать это легко и просто можно через командлет Set-ADAccountPassword. Сложная часть заключается в том, что новый пароль должен быть уточнен как защищенная строка: фрагмент текста, который зашифрован и хранится в памяти на протяжении PowerShell сессии. Во-первых, создадим переменную с новым паролем:


Затем, введем новый пароль:

Теперь мы можем извлечь учетную запись (использование samAccountname – лучший вариант) и задать новый пароль. Вот пример для пользователя Jack Frost:

К сожалению, в случае с этим командлетом наблюдается баг: -Passthru, -Whatif, и –Confirm не работают. Если Вы предпочитаете короткий путь, попробуйте следующее:

В итоге мне необходимо, чтобы Jack сменил пароль при следующем входе в систему, и я модифицирую учетную запись используя Set-ADUser.

Результаты выполнения командлета не пишутся в консоль. Если это необходимо сделать, используйте –True. Но я могу узнать, успешно или нет прошла операция, произведя извлечения имени пользователя с помощью командлета Get-ADUser и уточнив свойство PasswordExpired, как показано на рисунке 2.



Рис. 2. Результаты работы командлета Get-ADUser Cmdlet со свойством PasswordExpired

Итог: сбросить пароль пользователя с помощью PowerShell совсем не сложно. Признаюсь, что сбросить пароль также просто через оснастку Active Directory Users and Computers консоли Microsoft Management Console (MMC). Но использование PowerShell подходит в том случае, если Вам необходимо делегировать задачу, Вы не хотите разворачивать вышеупомянутую оснастку или сбрасываете пароль в ходе большого автоматизированного ИТ-процесса.

Задача 2: Активировать и деактивировать учетные записи

А теперь давайте деактивируем учетную запись. Продолжим работать с Jack Frost. Этот код использует параметр –Whatif, который Вы можете встретить в других комадлетах, которые осуществляют изменения, чтобы проверить мою команду не запуская ее.

А теперь деактивируем по-настоящему:

А когда настанет время активировать учетную запись, какой командлет нам поможет?

Эти командлеты могут быть использованы в конвейерном выражении (pipelined expression), позволяя активировать или деактивировать столько учетных записей, сколько душе угодно. Например, этот код деактивирует все учетные записи в отделе продаж (Sales)

Конечно, писать фильтр для Get-ADUser довольно-таки сложно, но именно здесь использование параметра –Whatif вместе с командлетом Disable-ADAccount приходит на помощь.

Задача 3: Разблокировать учетную запись пользователя

Рассмотрим ситуацию, когда Jack заблокировал свою учетную запись, пытаясь ввести новый пароль. Вмест того, чтобы пытаться найти его учетную запись через GUI, процедуру разблокировки можно осуществить с помощью простой команды.

Командлет также поддерживает параметры -Whatif и -Confirm.

Задача 4: Удалить учетную запись

Неважно, сколько пользователей Вы удаляете, — это просто осуществить с помощью командлета Remove-ADUser. Мне не хочется удалять Jack Frost, но если бы я захотел, то использовал бы такой код:

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

С помощью этой команды будут найдены и удалены все деактивованные учетные записи подразделения (OU) Employees, которые не менялись в течение 180 и более дней.

Задача 5: Поиск пустых групп

Управление группами – занятие бесконечное и неблагодарное. Существует множество способов найти пустые группы. Некоторые выражения могут работать лучше, чем другие, в зависимости от Вашей организации. Код, приведенный ниже, позволит найти все группы в домене, включая встроенные (built-in).

Если у Вас есть группы с сотнями членов, тогда использование этой команды может занять много времени; Get-ADGroupMember проверяет каждую группу. Если Вы можете ограничить или настроить, это будет лучше.
Вот еще один подход:


Эта команда находит все универсальные группы (Universal groups), которые не имеют членство в OU Groups и выводит некоторые из свойств. Результат приведен на рисунке 3.

Рис. 3. Поиск и фильтрация универсальных групп

Задача 6: Добавление пользователей в группу

Давайте добавим Jack Frost в группу Chicago IT:

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

Я использовал вводное конвейерное выражение (parenthetical pipelined expression), чтобы найти всех пользователей, у которых имеется свойство City в Chicago. Код в скобках выполняется, и полученные объекты передаются в параметр –Member. Каждый пользовательский объект добавляется в группу Chicago Employees. Неважно, имеем ли мы дело с 5 или 5000 пользователей, обновление членства в группах занимает всего несколько секунд. Это выражение может также быть написано с использованием ForEach-Object, что может быть удобнее:

Задача 7: Выводим список членов группы

Вы возможно захотите узнать, кто находится в определенной группе. Например, Вы должны периодически узнавать, кто входит в группу доменных администраторов (Domain Admins):

На рисунке 4 приведен результат.



Рис. 4. Члены группы Domain Admins

Командлет выводит объект AD для каждого члена группы. А что делать с вложенными группами? Моя группа Chicago All Users является коллекцией вложенных групп. Чтобы получить список всех учетных записей, я всего лишь должен использовать параметр –Recursive.

Если Вы хотите пойти другим путем – найти, в каких группах пользователь состоит, — используйте свойство пользователя MemberOf:

Я использовал параметр -ExpandProperty, чтобы вывести имена MemberOf как строки.

Задача 8: Найти устаревшие учетные записи компьютеров

Мне часто задают этот вопрос: “Как найти устаревшие учетные записи компьютеров?”. И я всегда отвечаю: “А что для вас является устаревшим?” Компании по-разному определяют то, когда учетная запись компьютера (или пользователя, неважно), признается устаревшей и не подлежит дальнейшему использованию. Что касается меня, то я обращаю внимание на те учетные записи, у которых пароли не менялись в течение определенного периода времени. Этот период для меня составляет 90 дней – если компьютер не сменил пароль вместе с доменом за этот период, скорее всего он находится оффлайн и является устаревшим. Используется командлет Get-ADComputer:

Фильтр замечательно работает с жестким значением, но этот код будет обновляться для всех учетных записей компьютеров, которые не изменили своих паролей с 1 января 2012 года. Результаты приведены на рисунке 5.



Рис. 5. Находим устаревшие учетные записи компьютеров

Другой вариант: предположим, вы хотя бы на функциональном уровне домена Windows 2003. Поставьте фильтр по свойству LastLogontimeStamp. Это значение – число 100 наносекундных интервалов с 1 января, 1601 года, и храниться в GMT, поэтому работа с этим значением слегка сложно:

Я взял на себя ответственность и добавил кастомное свойство, которое берет значение LastLogontimeStamp и конвертирует его в привычный формат. На рисунке 6 показан результат.



Рис. 6. Конвертируем значение LastLogonTimeStamp в привычный формат

Чтобы создать фильтр, мне необходимо конвертировать дату, например, 1 января 2012, в корректный формат. Конвертация осуществляется в FileTime:

Теперь я могу использовать эту переменную в фильтре для Get-ADComputer:

Приведённый код находит те же самые компьютеры, что были показаны на рисунке 5.

Задача 9: Деактивировать учетную запись компьютера

Возможно, когда Вы найдете неактивные или устаревшие учетные записи, Вы захотите деактировать их. Сделать это довольно просто. Мы будем использовать тот же командлет, что использовали в работе с учетными записями пользователей. Вы можете уточнить его, использовав samAccountname учетной записи.

Или же использовав конвейерное выражение:

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

Задача 10: Найти компьютеры по типу

Мне также часто задают вопрос, как найти учетные записи компьютеров по типу, например, серверы или рабочие станции. С вашей стороны это требует определенной креативности. В AD нет ничего такого, чтобы отличало сервер от клиента, разве что ОС. Если Ваш компьютер работает под Windows Server 2008, придется слегка сделать несколько дополнительных действий.
Для начала необходимо получить список ОС, а затем осуществляем фильтрацию учетных записей по имеющимся ОС.

Результаты показаны на рисунке 7.



Рис. 7. Извлечение списка ОС

Я хочу найти все компьютеры, на которых стоит серверная ОС:

Результаты приведены на рисунке 8.


Как и другими командлетами AD Get, Вы можете настроить поисковые параметры и ограничить запрос отдельными OU, если это необходимо. Все выражения, которые я показал, могут быть интегрированы в большие PowerShell выражения. Например, Вы можете сортировать, группировать, применять фильтры, экспортировать в CSV или создавать и отправлять на почту HTML отчеты – и все это из PowerShell! При этом Вам не придется писать ни единого скрипа.
Вот Вам бонус: отчет о возрасте пароля пользователя (user password-age report), сохраненный в HTML файле:

Хотя это выражение может выглядеть слегка пугающим, при минимальном знании PowerShell им легко воспользоваться. И остается лишь последний совет: как определить кастомное свойство под названием PasswordAge. Значение представляет собой промежуток между сегодняшним днем и свойством PasswordLastSet. Затем я сортирую результаты для моего нового свойства. На рисунке 9 показан выход для моего небольшого тестового домена.

Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

Модуль Active Directory для Windows PowerShell — один из основных инструментов для администрирования домена, управления объектами в Active Directory и получения различной информации о компьютерах AD, пользователях, группах и т. д. Любой администратор Windows должен знать, как использовать как графическую оснастку AD (обычно это ADUC — Active Directory Users & Computers) и командлеты модуля RSAT-AD-PowerShell для выполнения повседневных задач администрирования Active Directory. В этой статье мы рассмотрим, как установить модуль PowerShell Active Directory в Windows, познакомимся с его основными функциями и популярными командлетами, которые полезны для управления и взаимодействия с AD.

Установка модуля Powershell Active Directory на Windows Server

Active Directory для Windows PowerShell уже встроен в операционные системы Windows Server (начиная с Windows Server 2008 R2), но по умолчанию не включен.

В Windows Server 2016, 2019 и 2022 вы можете установить модуль AD для PowerShell из Диспетчера серверов (Добавить роли и компоненты → Функции → Инструменты удалённого администрирования сервера → Инструменты администрирования ролей → Инструменты AD DS и AD LDS → Модуль Active Directory для Windows PowerShell).

В англоязычной версии сервера это соответственно в Server Manager: Add Roles and Features → Features → Remote Server Administration Tools → Role Administration Tools → AD DS and AD LDS Tools → Active Directory module for Windows PowerShell.


Если вы уже установили роль Active Directory Domain Services, то это означает, что модуль Powershell Active Directory уже активирован и дополнительных действий предпринимать не нужно.

Вы также можете установить модуль из консоли PowerShell с помощью команды:


Вы можете установить RSAT-AD-PowerShell не только на контроллеры домена. Подойдёт любой рядовой сервер домена или даже рабочая станция. Модуль PowerShell Active Directory устанавливается автоматически при развёртывании роли доменных служб Active Directory (AD DS) (при повышении уровня сервера до контроллера домена AD).

Модуль взаимодействует с AD через веб-службу Active Directory, которая должна быть установлена на вашем контроллере домена (связь осуществляется через TCP-порт 9389).

Как установить модуль Active Directory PowerShell в командной строке

Вы можете установить модуль RSAT-AD-PowerShell не только на Windows Server, но и на свои рабочие станции.

Если вы попытаетесь выполнить приведённую выше PowerShell команду:


Причём независимо от того, какая у вас редакция Windows: Home, Pro, Enterprise.

Тем не менее, в Windows 10 build 1809 или новее пакет RSAT интегрирован в образ Windows (как компоненты по запросу), поэтому вы можете использовать эту команду PowerShell для установки модуля Active Directory:


Предыдущую команду нужно выполнять в командной строке с правами администратора.

Как установить модуль Active Directory PowerShell в Windows 11 в графическом интерфейсе

Для установки модуля Active Directory PowerShell в графическом интерфейсе в Windows 11 откройте «Settings» (Параметры), для этого нажмите Win+i и выберите вкладку «Apps» (Приложения), а затем перейдите в «Optional Features» (Дополнительные компоненты).


Теперь выберите «View features» (Просмотр компонентов) в строке «Add an optional feature» (Добавить компонент).


Для установки средств удалённого администрирования Active Directory найдите «RSAT: Active Directory Domain Services and Lightweight Directory Services Tools» (Средства удалённого администрирования сервера: средства доменных служб Active Director и служб облегчённого доступа к каталогам), поставьте галочку и нажмите на кнопку «Next» (Далее),


затем нажмите «Install» (Установить).


Примечание: если при поиске того или иного компонента вы не можете его найти, то, возможно, данный компонент уже установлен.


Чтобы в этом убедиться в строке поиска под надписью «Installed features» (Установленные компоненты) введите название искомого компонента.


Также помните, что в английской и локализованных версиях Windows данные компоненты называются по-разному!

Как установить модуль Active Directory PowerShell в Windows 10 в графическом интерфейсе

Для установки модуля Active Directory PowerShell в графическом интерфейсе, нажмите Win+x, затем в открывшемся меню выбираем «Apps and Features» (Приложения и возможности).


Далее выбираем «Optional Features» (Дополнительные компоненты).


Теперь выбираем «Add a feature» (Добавить компонент).


Для установки средств удалённого администрирования Active Directory выбираем «RSAT: Active Directory Domain Services and Lightweight Directory Services Tools» (Средства удалённого администрирования сервера: средства доменных служб Active Director и служб облегчённого доступа к каталогам) и нажимаем на кнопку «Install» (Установить).


Командлеты Active Directory PowerShell

В модуле Active Directory для Windows PowerShell есть множество командлетов для взаимодействия с AD. Каждая новая версия RSAT содержит больше командлетов, чем предыдущая. В Windows Server 2022 доступно 147 командлетов PowerShell для Active Directory.

Перед использованием командлетов модуля Active Directory вам необходимо импортировать его в сеанс PowerShell:

Начиная с Windows Server 2012 R2, Windows 8.1 и в последующих версиях модуль импортируется автоматически.

Если модуль Active Directory не установлен на вашем компьютере, вы можете импортировать его со своего контроллера домена (для этого вам нужны права администратора домена) или с другого настольного компьютера:

В этих командах ИМЯ_КОМПЬЮТЕРА — это компьютер, который является Контроллером Домена, либо компьютером, на котором установлен модуль Powershell Active Directory.

Вы можете отобразить полный список доступных командлетов Active Directory с помощью команды:

Чтобы посчитать общее количество командлетов в модуле AD выполните команду:


Большинство командлетов RSAT-AD-PowerShell начинаются с префиксов Get-, Set- или New-.

  • Командлеты Get- класса используются для получения различной информации из Active Directory (Get-ADUser — свойства пользователя, Get-ADComputer — настройки компьютера, Get-ADGroupMember — членство в группе и так далее). Чтобы запустить их, вам не нужно быть администратором домена. Любой пользователь домена может запускать команды PowerShell для получения значений атрибутов объекта AD (кроме конфиденциальных, как в примере с LAPS);
  • Командлеты класса Set- используются для установки (изменения) параметров объекта в Active Directory. Например, вы можете изменить свойства пользователя (Set-ADUser), настройки компьютера (Set-ADComputer), добавить пользователя в группу и так далее. Для этого у вашей учётной записи должны быть разрешения на изменение свойств объекта;
  • Команды, начинающиеся с New- позволяют создавать объекты AD (создать пользователя – New-ADUser, создать группу – New-ADGroup);
  • Командлеты Remove- используются для удаления объектов AD.

Так вы можете получить помощь по любому командлету:


Вы можете отобразить примеры использования командлетов Active Directory следующим образом:

Всплывающие подсказки удобно использовать при вводе параметров командлета в PowerShell ISE.


Администрирование Active Directory с помощью модуля RSAT-AD-PowerShell

Давайте посмотрим на некоторые типичные задачи администратора, которые вы можете выполнять с помощью командлетов Active Directory для PowerShell.

New-ADUser: создание пользователей AD

Чтобы создать нового пользователя AD, вы можете использовать командлет New-ADUser. Вы можете создать пользователя с помощью следующей команды:

Get-ADComputer: получение свойств компьютера

Чтобы отобразить информацию о свойствах компьютера в конкретном подразделении (имя компьютера и дата последнего входа в систему), используйте командлет Get-ADComputer:

Add-AdGroupMember: добавить пользователя AD в группы

Чтобы добавить пользователей в существующую группу безопасности в вашем домене AD, выполните эту команду:

Отобразить список пользователей в группе AD и экспортировать его в файл CSV:

В предыдущей команде «ft» это командлет Format-Table.

Set-ADAccountPassword: сброс пароля пользователя в AD

Чтобы сбросить пароль пользователя AD из PowerShell, выполните следующую команду:

Как разблокировать, включить и отключить учётную запись AD?

Чтобы отключить учётную запись пользователя AD:

Чтобы включить учётную запись:

Чтобы разблокировать учётную запись после того, как она была заблокирована политикой паролей домена:

Search-ADAccount: как найти неактивные и отключённые объекты?

Чтобы найти и отключить все компьютеры в домене AD, которые не входили в систему более 90 дней, используйте командлет Search-ADAccount:

New-ADOrganizationalUnit: создание организационной единицы в AD

Чтобы быстро создать типичную структуру организационной единицы в AD, вы можете использовать сценарий PowerShell. Предположим, вы хотите создать несколько подразделений с именами состояний и создать в них типичные контейнеры объектов. Создание этой структуры AD вручную с помощью графической оснастки ADUC занимает довольно много времени. Модуль AD для PowerShell позволяет сделать это за секунды (кроме времени на написание скрипта):

После запуска сценария в Active Directory появляется следующая структура подразделений.


Move-ADObject: перемещение объектов между контейнерами AD

Чтобы перемещать объекты между контейнерами AD, вы можете использовать командлет Move-ADObject:

Используя командлет Get-ADReplicationFailure, вы можете проверить состояние репликации между контроллерами домена AD:

Get-ADDomainController: Получение информации о контроллерах домена

Чтобы получить информацию обо всех контроллерах домена в домене, используйте командлет Get-AdDomainController:


Итак, мы рассмотрели основные возможности модуля Active Directory PowerShell для администрирования домена AD. Я надеюсь, что это побудит вас продолжить изучение других функций модуля и автоматизировать большую часть задач управления AD.

Пользовательские учетные записи одни из самых популярных объектов в AD. Они нужны для аутентификации и авторизации на рабочих компьютерах и во многих сервисах, интегрированных с AD. Решение различных проблем связанных с УЗ пользователей, а также управление ими является одной из главных рутин для администраторов и специалистов хелпдеска. Данное руководство поможет вам сделать это несколькими способами. Чтобы управлять УЗ пользователей, необходимо войти на контроллер домена или сервер или устройство с установленными средствами удаленного администрирования сервера (RSAT) для Active Directory Domain Services.

Для того, чтобы не было ошибок доступа нам нужен аккаунт администратора домена или группы операторов учетных записей (Account Operators group) или нам нужна УЗ, которая делегирована на создание пользовательских объектов в домене или в нужной нам организационной единице (OU), которую мы будем использовать для хранения аккаунтов.

Как включить и отключить учетную запись пользователя в Active Directory

Когда вы хотите убрать возможность логина в AD для учетной записи пользователя, вы можете отключить ее. В том случае если объект пользователя отключен, но он вам снова нужен по какой-то причине, например, сотрудник вернулся из декретного отпуска, вы можете включить его снова. Вот руководство, как это сделать несколькими способами.

Включение и отключение УЗ пользователя с помощью Active Directory Users and Computers

Чтобы включить или отключить пользователя с помощью ADUC, сделайте следующее:

Войдите в Active Directory Users and Computers (dsa.msc). Найдите OU или контейнер, где содержится нужный вам аккаунт, щелкните правой кнопкой по OU и выберите «Find. ». В поле "Name" введите имя объекта и нажмите кнопку Find Now. В поле "Search" щелкните правой кнопкой мыши на юзера и выберите Enable account для включения УЗ или Disable account для ее отключения в зависимости от того, что вам нужно, и нажмите OK.


Включение и отключение аккаунта пользователя с помощью cmd.exe

Это задача для dsmod.exe, для включения учетной записи используйте его со следующими параметрами:

dsmod.exe "CN=GSoul,CN=Users,DC=office,DC=local" -disabled no

А эта команда отключит учетную запись:

dsmod.exe user "CN=GSoul,CN=Users,DC=office,DC=local" -disabled yes

Включение и отключение учетной записи пользователя с помощью Windows PowerShell

Ниже приведен код PowerShell для включения учетной записи пользователя:

Import-Module ActiveDirectory
Enable-ADAccount -Identity "CN=GRobinson,CN=Users,DC=office,DC=local"

А эта предназначена для отключения учетной записи пользователя:

Import-Module ActiveDirectory
Disable-ADAccount -Identity "CN=GRobinson,CN=Users,DC=office,DC=local"

Как установить срок действия учетной записи для пользователя

Учетные записи пользователей могут быть настроены с истечением срока действия после определенного периода времени.

Установка срока действия учетной записи с помощью Active Directory Users and Computers

Чтобы установить срок действия учетной записи в ADUC, выполните следующие простые шаги:

Откройте ADUC (dsa.msc), перейдите к OU или контейнеру, в котором находится нужный пользователь, щелкните правой кнопкой мыши на белом пространстве и выберите Find. . В поле Name введите имя или начало имени и нажмите кнопку Find Now. В результатах поиска выберите юзера, которому нужно установить срок действия. Щелкните правой кнопкой мыши на пользователя и выберите Properties. Перейдите на вкладку Account, в нижней части вкладки измените параметр Account expires (Истечение срока действия учетной записи) на End of: и выберите нужную дату. Нажмите OK, чтобы сохранить изменения.


Установка срока действия учетной записи с помощью командной строки

Используйте dsmod.exe для установки истечения срока действия учетной записи в Active Directory:

dsmod.exe user "CN=GSoul,CN=Users,DC=office,DC=local" -acctexpires 90

Установка срока действия учетной записи с помощью Windows PowerShell

Чтобы установить срок действия учетной записи для пользователя в Employees OU, выполните следующий PowerShell скрипт:

Import-Module ActiveDirectory
Set-ADAccountExpiration -Identity "CN=GSoul,OU=Employees,DC=office,DC=local" -DateTime "11/11/2021 12:00:00"

New-ADUser создание пользователей AD с Powershell

Создание пользователей в Powershell можно выполнить через команду New-ADUser. Мы рассмотрим как создавать в определенной OU, с паролем, из CSV и с другими параметрами.

Если мы наберем просто команду, то нам предложат ввести логин и наш пользователь создастся отключенным в папке User:

Логин (Name) - это единственный обязательный параметр для заполнения. Оно соответствует полю, которое выделено на рисунке ниже:

User logon

Навигация по посту

Создание пользователя в Powershell с параметрами New-ADUser

У командлета есть много параметров (больше 60) и мы рассмотрим основные из них. Для того что бы увидеть все параметры выполните следующее:

Или если хотите найти конкретный параметр (в моем случае все где есть Name):

Обычно нам нужно создать учетку AD с паролем, именем и фамилией и она должна быть активна. Для создания пользователя AD с паролем используется другой командлет Powershell. Я объявлю пароль в переменной, но можно сразу и при создании пользователя:

Затем создадим пользователя:

  • Name - логин
  • GivenName - имя
  • SurName - фамилия
  • AccountPassword - пароль, который мы объявили в переменной
  • Enbaled - делает пользователя активным
  • UserPrincipleName - соответствует полю выделенному на рисунке ниже

UserPrincipleName

new-aduser powershell примеры


Создание пользователя в Powershell в определенной OU используя New-ADUser Path

Для добавления пользователя в другой OU нужно использовать ключ Path. На примере домена domain.local и организационной единице Moscow путь будет выглядеть так:

Причем может появится ошибка:
new-aduser объект каталога не найден
Т.к. в пути вместо OU указывают контейнер CN.

Или если в нас вложенные OU:

powershell создание пользователя ad в определенной ou

Создание пользователей AD из CSV в Powershell New-ADUser

Я создал в Excel такой файл и сохранил как CSV:

CSV Ad powershell New-AdUser

Для того что бы импортировать файл есть командлет Import-Csv. Нужно обратить внимание какой разделитель (делимитер) в файле и у вас в системе. Увидеть это можно так:

Импорт и создание пользователей делается так:

Сложение в Path сделано для демонстрации такой возможности и не является обязательным.

У меня так же была ошибка:

  • new-aduser указанное имя не является корректным именем пользователя
  • New-ADUser : The object name has bad syntax
  • New-ADUser : Directory object not found

Само собой мы можем в Csv файле создать больше колонок. Например мы можем там создать и пароль, что бы у всех пользователей он был разный, но нужно будет обязательно сконвертировать его через ConvertTo-SecureString.

Если вы не уверены в том, что все данные корректны, то можете добавить ключ -WhatIf, который покажет результаты выполнения команды, но не выполнит ее физически.

Читайте также: