Создать пользователя AD в другом домене - PullRequest
0 голосов
/ 26 февраля 2020

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

1) открыть dsa.ms c

2) подключиться к домену "xyz" (пользователь создается с сервера в домен "ab c")

3) Создайте пользователя (операция в течение 10-15 минут, поэтому я создал сценарии)

К сожалению, когда я запускаю свой сценарий, я получаю сообщение об ошибке «Сервер не хочет обрабатывать запрос» (это точное сообщение об ошибке) во время выполнения командлета New-ADUser. Я полагаю, что причина заключается в необходимости выполнить шаг 2 в процедуре, которую я описал выше. Поэтому мне как-то нужно смоделировать его в сценарии, но я не знаю, как это сделать.

Вот как определяется команда:

$params = @{
        'GivenName'             = $First_name_val.Text
        'Surname'               = $Second_name_val.Text
        'DisplayName'           = $Display_name
        'AccountPassword'       = $password
        'Path'                  = $Location_val.Text
        'Name'                  = $User_name_val.Text
        'CannotChangePassword'  = $Cannot_chg_pass.Checked
        'PasswordNeverExpires'  = $Pass_not_expires.Checked
        'ChangePasswordAtLogon' = $Must_chg_pass.Checked
        'Enabled'               = !($Account_disabled_val.Checked)
        'Description'           = $GECOS_val.Text
        'Office'                = "NA"
        'OfficePhone'           = "NA"
        'Title'                 = $Job_Title_val.Text
        'Department'            = $Department_val.Text
        'Company'               = $Company_val.Text
        'SamAccountName'        = $User_name_val.Text
        'UserPrincipalName'     = $User_name_val.Text + "@woodplc.com"
        'EmailAddress'          = $Email_Address_val.Text
        'PassThru'              = $true
    }
    $New_user = New-ADUser @params

Определение $User_name_val.Text здесь:

#region Real name of the user
[void]$AD_user_creation.SuspendLayout()

$Display_name_lbl                = New-Object system.Windows.Forms.Label
$Display_name_lbl.text           = "User`'s real name"
$Display_name_lbl.AutoSize       = $true
$Display_name_lbl.width          = 25
$Display_name_lbl.height         = 10
$Display_name_lbl.location       = New-Object System.Drawing.Point(10,10)

$First_name_val                  = New-Object system.Windows.Forms.TextBox
$First_name_val.Text             = "a."
$First_name_val.multiline        = $false
$First_name_val.width            = 120
$First_name_val.height           = 20
$First_name_val.location         = New-Object System.Drawing.Point(200,10)

$Second_name_val                 = New-Object system.Windows.Forms.TextBox
$Second_name_val.multiline       = $false
$Second_name_val.width           = 120
$Second_name_val.height          = 20
$Second_name_val.location        = New-Object System.Drawing.Point(330,10)

$Display_name_val                = New-Object system.Windows.Forms.Label
$Display_name_val.Text           = ""
$Display_name_val.width          = 250
$Display_name_val.height         = 20
$Display_name_val.location       = New-Object System.Drawing.Point(200,40)

$showFullName = { $Display_name_val.Text = ($First_name_val.Text + "." + $Second_name_val.Text) }

[void]$Second_name_val.Add_Leave( { & $showFullName } )
[void]$First_name_val.Add_Leave(  { & $showFullName } )
#endregion

#region User name of the user
$User_name_lbl                   = New-Object system.Windows.Forms.Label
$User_name_lbl.text              = "User logon name"
$User_name_lbl.AutoSize          = $true
$User_name_lbl.width             = 25
$User_name_lbl.height            = 10
$User_name_lbl.location          = New-Object System.Drawing.Point(10,70)

$User_name_val                   = New-Object system.Windows.Forms.TextBox
$User_name_val.multiline         = $false
$User_name_val.width             = 250
$User_name_val.height            = 20
$User_name_val.location          = New-Object System.Drawing.Point(200,70)
$LogonName = {$User_name_val.Text = ($First_name_val.Text + "." + $Second_name_val.Text)}

[void]$Second_name_val.Add_Leave({& $LogonName})
[void]$First_name_val.Add_Leave({& $LogonName})
[void]$AD_user_creation.ResumeLayout()
#endregion

1 Ответ

0 голосов
/ 26 февраля 2020

Ошибка "The server is unwilling to process the request" означает, что некоторые из ваших входных значений недопустимы. Например, указанная вами организационная единица может быть недействительной (возможно, это пробел, которого там не должно быть), или SamAccountName может быть слишком длинным или содержать недопустимый символ, например, c.

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

Если при подключении к серверу или при аутентификации возникла проблема, сообщение об ошибке будет другим.

...