Powershell создает массовых пользователей с помощью скрипта

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

Import-Module ActiveDirectory
$ADusers = Import-csv C:\TEST\Create.CSV

Foreach ($user in $ADusers)
{

    $username   = $user.username
    $password   = $User.password
    $firstname  = $user.firstname
    $Lastname   = $user.lastname
    $OU         = $user.ou

    {
        New-ADUser
        -SamaccountName $username '
        -Name "$firstname $lastname" 
        -ChangePasswordatlogon $True '
        -Givenname $firstname '
        -Surename $lastname '
        -path $OU 
   }
}
0
0
96
1

Ответы 1

В вашем коде New-ADUser работает без каких-либо параметров.

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

Если вы этого не сделаете, предыдущие строки не будут связаны со строкой выше.

Import-Module ActiveDirectory
$ADusers = Import-csv C:\TEST\Create.CSV

Foreach ($user in $ADusers)
{
    $username   = $user.username
    $password   = $User.password
    $firstname  = $user.firstname
    $Lastname   = $user.lastname
    $OU         = $user.ou

    New-ADUser `
        -SamaccountName $username `
        -Name "$firstname $lastname" `
        -ChangePasswordatlogon $True `
        -Givenname $firstname `
        -Surename $lastname `
        -path $OU
}

Примечание. Отступы не требуются в PS, но упрощают чтение и понимание строк, связанных с приведенной выше Командой.

Он все еще не работает ... извините, я новичок в PowerShell Foreach ($ user в $ ADusers) {$ username = $ user.username $ password = $ User.password $ firstname = $ user.firstname $ Lastname = $ user .lastname $ OU = $ user.ou} {New-ADUser -SamaccountName $ username -Name "$ firstname $ lastname" -ChangePasswordatlogon $ True -Givenname $ firstname -Surename $ lastname -path $ OU}

Remco 10.09.2018 12:00

@Remco, похоже, вы поместили квадратные скобки "{" не в то место. Итак, теперь у вас New-ADUser выходит из цикла foreach.

Kirill Pashkov 10.09.2018 12:18

Обновленный ответ, чтобы было понятнее - вам не нужен второй набор { }, вместо них используются обратные кавычки.

James C. 10.09.2018 12:27

Другие вопросы по теме