New aduser сервер не склонен обработать запрос

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Причины возникновения не совсем ясны. Хоть ошибка и указывала на начало командлета New-AdUser, но проблема была в Path. Из рекомендаций были убрать в CSV файле пустые строки, проверить, что у нас нет путаницы с кавычками ( что мы не используем " ‘ в одном объекте), а так же вынести значение Path вне цикла в переменную. Мне помогло, как я понял, замена кавычек в ключе, экранирование скобками и удаление пробелов в этом ключе.

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

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

я использовал пример в на этой странице добавить пользователей в группу Active Directory, но я получаю исключение с сообщением "сервер не склонен обработать запрос" при выполнении

3 ответов

У меня была аналогичная проблема, когда я пытался добавить члена в группу. В частности, попытка добавить группу в группу и получить ту же полезную ошибку "сервер не хочет обрабатывать запрос" ответ, предоставленный OP, не работал для меня.

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

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

в любом случае, мне удалось исправить это:

убедившись, что userDn содержит весь путь (например, "LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com" . Это на самом деле очень важно, если вы не поставите полный путь, он бросит исключение из HRESULT: 0x80005000.

замена dirEntry.Properties["member"].Add(userDn); by entry.Invoke("Add", new object[] < userDn >);

затем я хотел удалить пользователя, и я ожидал entry.Invoke("Remove", new object[] < userDn >); на работу. Однако это дьявольское объявление будет работать, только если вы используете нижний регистр "удалить", так что entry.Invoke("remove", new object[] < userDn >); работал для меня.

после многих дней поиска я нахожу проблему. при добавлении пользователя в группу необходимо задать "различающееся имя", а не путь LDAP.

вы должны написать так:

Это неправильный код:

кроме того, когда вы удалите мачту, чтобы сохранить это правило

П. С. ent is DirectoryEntry

Самый простой способ создать нового пользователя в домене Active Directory – воспользоваться графической mmc оснасткой ADUC (Active Directory Users and Computers). Но в том случае, если в домене нужно завести сразу несколько учетных записей, их создание в ручном режиме может стать довольно утомительной для администратора процедурой. В этой статье мы рассмотрим пример автоматизации создания учетных записей пользователей в AD с помощью командлета PowerShell New-ADUser.

Используем командлет New-ADUser для создания новой учетной записи AD

Командлет New-ADUser входит в состав модуля Active Directory для PowerShell. Для использования этого модуля, нужно установить на компьютере соответствующую ОС версию RSAT и включить компонент Active Directory Module for Windows PowerShell.

Для импорта модуля в сессию PowerShell выполните команду:

Полный синтаксис командлета New-ADUser можно получить с помощью команды

Get-Command New-ADUser –Syntax

В минимальной версии для создания новой учетной записи пользователя в AD достаточно указать только его имя.
New-ADUser testuser1

Как вы видите, новая учетная запись пользователя создалась в контейнере Users и является отключенной. Для использования данной учетной записи, ее нужно включить (командлет Enable-ADAccount), задать пароль (командлет Set-ADAccountPassword) и/или другие атрибуты (по необходимости).

Чтобы создать полноценную работоспособную учетную запись в определенном контейнере (OU) домена с паролем и сразу активировать ее, воспользуйтесь такой командой.

New-ADUser -Name "Test User2" -GivenName "Test" -Surname "User2" -SamAccountName "testuser2" -UserPrincipalName "testuser2@contoso.com" -Path "OU=Users,OU=Accounts,OU=SPB,DC=winitpro,DC=loc" -AccountPassword(Read-Host -AsSecureString "Input Password") -Enabled $true

Команда предложит сразу указать пароль нового пользователя (в защищенном виде)

Информацию о созданном пользователе домена можно получить с помощью командлета Get-ADUser:

Массовое создание новых пользователей в AD из CSV скриптом PowerShell

В том случае, если в Active Directory нужно создать сразу большое количество пользователей, удобнее сохранить список пользователей в формате CSV (Excel) файла, а затем запустить специальный PowerShell скрипт. В данном файле нужно заполнить все значимые для вас атрибуты пользователей.

К примеру, мой Excel файл с пользователями состоит из 9 колонок и имеет следующий формат шапки:

Заполните данные пользователей и сохраните Exсel файл с в формате CSV c запятыми, в качестве разделителей. Кодировка файла должна быть обязательно UTF-8 (важно!). Кроме того, т.к. в значениях столбца OU есть запятые, нужно экранировать их, взяв в двойные кавычки.

Теперь можно импортировать данный CSV файл (new_ad_users2.csv) и создать в домене новых пользователей. Код готового PowerShell скрипта представлен ниже:

  • Имя пользователя в домене мы будем заводить на английской языке, поэтому для транслитерации имен и фамилий пользователей с кириллицы в латиницу мы добавим в скрипт отдельную функцию Translit.
  • Если в качестве разделителя CSV файла используется “;”, в командлет Import-Csv нужно добавить аргумент -delimiter «;»

Import-Module activedirectory
Import-Csv "C:ps
ew_ad_users2.csv" | ForEach-Object <
$upn = $_.SamAccountName + “@contoso.loc”
$uname = $_.LastName + " " + $_.FirstName + " " + $_.Initials
#переводим в транслит фамилию, имя и отчество
$transLastName=Translit($_.LastName)
$transFirstName=Translit($_.FirstName)
$transInitials=Translit($_.Initials)
$transuname = $transLastName + " " + $transFirstName + " " + $transInitials
New-ADUser -Name $transuname `
-DisplayName $uname `
-GivenName $_.FirstName `
-Surname $_.LastName `
-Initials $_.Initials `
-OfficePhone $_.Phone `
-Department $_.Department `
-Title $_.JobTitle `
-UserPrincipalName $upn `
-SamAccountName $_.samAccountName `
-Path $_.OU `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $true
>

После выполнения скрипта, откройте консоль ADUC, разверните указанный контейнер и убедитесь, что в AD появились новые учетки пользователей (отследить создание учетных записей в AD можно так: Получение списка учетных записей AD, созданных за последние 24 часа.)

Создаваемые учетные записи можно сразу добавить в определенную группу AD с помощью командлета Add-AdGroupMember, для этого нужно немного модифицировать скрипт, добавив в цикле строку:

Add-AdGroupMember -Identity AllowPublicInet -Members $_.samAccountName

Или сразу установить фотографию пользователя в AD, чтобы она отображалась в Outlook и Lync:

Оцените статью
ПК Знаток
Добавить комментарий

Adblock
detector