2

Я работаю над сценарием powershell v3 для создания пользователей в Active Directory.

Для этого я использую комлет new-ADUser. Я хочу выполнить одну команду, чтобы создать пользователя и установить все параметры в одном наборе, но, учитывая, что у меня так много настроек, я получу очень длинную команду, которую трудно прочитать. Instaed Я предпочитаю создать что-то, передать это новому пользователю и добиться того же.

Я попробовал следующее:

$param = @()
$param.Name = "Test Name"
$param.GivenName = "Test"
$param.Surname = "Test"
$param.Enabled = 1

$param | new-aduser

Однако, если я сделаю следующее, это сработает:

new-aduser -name "Test Name" -GivenName "Test" -Surname "Test" -Enabled 1

Если я выполняю это, он говорит, что я могу сделать это только при правильном присвоении имени. Это... Так что же я делаю не так, или есть другой способ, как я могу получить параметры, перечисленные ниже, и отправить их в new-aduser? Можно ли как-то преобразовать массив в объект и заставить его работать, и если да, то как?

Если бы я мог как-то просто использовать только new-aduser и перечислить их ниже друг друга, это тоже сработало бы, но я не думаю, что Powershell настолько свободен с энтерами, как php.

Заранее спасибо. :)

1 ответ1

2

От Эй, Сценарист!Блог приходит этот пример:

Import-Module activedirectory

$users = @{
 "name" = "fred"
 "givenName" = "manfred"
 "l" = "lexington"
}

New-ADUser @users

Ответ переполнения стека также объясняет, как использовать параметр OtherAttributes , если вам необходимо:

$users = @{ 
    "name" = “fred 
    "givenName" = “Manfred" 
    "l" = "lexington"
    "OtherAttributes" = @{ 
        'extensionAttrbute1' = "Test"
     }
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .