2015-09-12 2 views
0

Я работаю над командой PowerShell, где у меня есть файл .csv с определенными атрибутами, но я действительно застрял в его завершении.Создание массовых AD пользователей

атрибуты моего файла .csv в следующем порядке:

  • UserPrincipalName
  • SamAccountName
  • пароль
  • GivenName
  • зп
  • DISPLAYNAME
  • описание
  • Путь
  • название
  • компания
  • memberOf
  • отдел
  • mustChangePassword

Мой текущий код заключается в следующем:

$Users = Import-Csv -Path "C:\BulkUsers.csv"    
foreach ($User in $Users)    
{  
    $UPN = $User.userPrincipalName 
    $SAM = $User.sAMAccountName 
    $Password = $User.password  
    $UserFirstname = $User.givenName    
    $UserLastname = $User.sn 
    $Displayname = $User.givenName + " " + $User.sn 
    $Description = $User.description 
    $Path = $User.Path    
    $Title = $User.title 
    $Company = $User.company 
    $Group = $User.memberOf 
    $Department = $User.department   

    New-ADUser -UserPrincipalName $UPN -SamAccountName $SAM -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -GivenName "$UserFirstname" -Surname "$UserLastname" -DisplayName "$Displayname" -Description "$Description" -Path "$Path" -title "$Title" -company "$Company" -memberOf "$Group" -department "$Department" -ChangePasswordAtLogon $true 
} 

Am получаю ошибку ниже при выполнении его :

New-ADUser : A parameter cannot be found that matches parameter name 'memberOf'. 
At line:15 char:292 
+ ... any "$Company" -memberOf "$Group" -department "$Department" -ChangePasswordAtLo ... 
+     ~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [New-ADUser], ParameterBindingException 
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser 
+0

Вы удалили и задали этот вопрос? Вы видели точки Ансгара о последнем вопросе. Вы ничего здесь не просите. Что не так с кодом? Вы получаете сообщение об ошибке? Вы должны сказать нам, что ваша проблема и ваши ожидаемые результаты. – Matt

+0

Да .. жаль, что я забыл упомянуть код ошибки, я отредактировал сообщение выше, теперь может у помочь мне ?? – Omran

+0

Вместо удаления и повторного размещения вопроса вы должны улучшить заданный вами вопрос. Простое удаление вопросов, когда они сжимают downvotes, рано или поздно неизбежно приведет к [вопросу о запрете] (http://meta.stackexchange.com/q/86997/223370). –

ответ

1

Сообщение об ошибке довольно простое. Если вы посмотрите на документацию для командлета New-ADUser, вы увидите, что у него нет параметра -memberOf. Чтобы добавить вновь созданного пользователя в группу, используйте командлет Add-ADGroupMember.

$Account = New-ADUser ... -PassThru 
Add-ADGroupMember -Identity $Group -Members $Account 

Это при условии, что memberOf поле из CSV содержит только одно имя группы или различающееся имя.

Дополнительный параметр -PassThru позволяет присвоить созданному объекту учетной записи переменную, поэтому вы можете использовать эту переменную в задании группы. Без этого параметра New-ADUser работает без звука (без вывода).

+0

, так что в этом случае, как я буду навязывать это в своем коде? рядом с моим файлом .csv у одного пользователя есть несколько групп – Omran

+0

Ну, где в коде есть инструкция 'New-ADUser'? Это то, что вам нужно заменить. Если у пользователя несколько групп, вам нужно добавить 'Add-ADGroupMember' в цикл для всех групп.Однако, поскольку группы берутся из одного поля CSV, вам, вероятно, нужно разбить эту строку, чтобы получить фактический список. –

+0

Большое спасибо ... Я уже сделал это и работает как шарм. – Omran

Смежные вопросы