none
Powershell Скрипт для Импорта пользователей в active directory из CSV RRS feed

  • Общие обсуждения

  • Добрый день, мне нужно большое количество пользователей жобавить в Ад с даполнительными атрибутами, у меня есть скрипт но помему то не работает. не могли бы помочь в чем у меня ошибка

    вот скрипт:

    import-module activedirectory

    $Users = Import-CSV -Path "C:\Scripts\users.csv" -delimiter ";"



    foreach ($User in $Users)  
    {
     $GivenName = $User.GivenName
     $Surname = $User.Surname
     $sAMAccountName = $User.sAMAccountName
     $Department = $User.Department
     $Title = $User.Title
     $Description = $User.Description
     $Password = $User.Password
     $DisplayName = $User.DisplayName
     $Company = $User.Company
     $userprincipalname = $User.userprincipalname
     $EmailAddress = $User.EmailAddress
     $City = $User.City
     $Country = $User.Country
     $MobilePhone = $User.MobilePhone
     $PostalCode = $User.PostalCode
     $StreetAddress = $User.StreetAddress
     $telephoneNumber = $User.telephoneNumber
     $wWWHomePage = $User.wWWHomePage
     $ipPhone = $User.ipPhone
     $facsimileTelephoneNumber = $User.facsimileTelephoneNumber
     
     New-ADuser -GivenName $GivenName -SurName $Surname  -SamAccountName $sAMAccountName -Department $Department -Title $Title -Description $Description
     -DisplayName $DisplayName  -Company $Company -UserPrincipalName $UserPrincipalName -EmailAddress $EmailAddress -City $City
     -Country $Country -MobilePhone $MobilePhone -PostalCode $PostalCode -StreetAddress $StreetAddress -TelephoneNumber $TelephoneNumber -wWWHomePage $wWWHomePage -ipPhone $ipPhone
     -facsimileTelephoneNumber $facsimileTelephoneNumber   
     -CannotChangePassword $false -PasswordNeverExpires $false -ChangePasswordAtLogon $false
     -PasswordNotRequired $true -Enabled $true -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force)
      }

    после запуска скрипта выдает сообщение:

    PS C:\Users\Administrator> C:\Scripts\test1.ps1
    cmdlet New-ADUser at command pipeline position 1
    Supply values for the following parameters:
    Name:

    не могу понять что не так

    1 марта 2017 г. 11:54

Все ответы

  • Нет обязательного параметра Name: New-ADUser [-Name] <String>

    Обычно Name=DisplayName.

    • Изменено Kazun 1 марта 2017 г. 12:00
    1 марта 2017 г. 11:59
  • Забыли параметр Name. Пример строчки из моего скрипта 

    New-ADUser -Name $dispname -SamAccountName $sam -Surname $surname -GivenName $givname -DisplayName $dispname -Path $y -userprincipalname ($sam + "@domain.local") -title $descript -description $descript -CannotChangePassword $false -ChangePasswordAtLogon $false -PasswordNotRequired $false -PasswordNeverExpires $false -AccountPassword(ConvertTo-SecureString -AsPlainText $pass -Force) -Enabled $true

    1 марта 2017 г. 12:01
  • Забыли параметр Name

    хорошо я поправил вот так

    import-module activedirectory

    $Users = Import-CSV -Path "C:\Scripts\users.csv" -delimiter ";"



    foreach ($User in $Users)  
    {
     $DisplayName =$User.DisplayName
     $GivenName = $User.GivenName
     $Surname = $User.Surname
     $sAMAccountName = $User.sAMAccountName
     $Department = $User.Department
     $Title = $User.Title
     $Description = $User.Description
     $Password = $User.Password
     $DisplayName = $User.DisplayName
     $Company = $User.Company
     $userprincipalname = $User.userprincipalname
     $EmailAddress = $User.EmailAddress
     $City = $User.City
     $Country = $User.Country
     $MobilePhone = $User.MobilePhone
     $PostalCode = $User.PostalCode
     $StreetAddress = $User.StreetAddress
     $telephoneNumber = $User.telephoneNumber
     $wWWHomePage = $User.wWWHomePage
     $ipPhone = $User.ipPhone
     $facsimileTelephoneNumber = $User.facsimileTelephoneNumber
     
     New-ADuser -DisplayName $DisplayName -GivenName $GivenName -SurName $Surname  -SamAccountName $sAMAccountName -Department $Department -Title $Title -Description $Description
     -DisplayName $DisplayName  -Company $Company -UserPrincipalName $UserPrincipalName -EmailAddress $EmailAddress -City $City
     -Country $Country -MobilePhone $MobilePhone -PostalCode $PostalCode -StreetAddress $StreetAddress -TelephoneNumber $TelephoneNumber -wWWHomePage $wWWHomePage -ipPhone $ipPhone
     -facsimileTelephoneNumber $facsimileTelephoneNumber   
     -CannotChangePassword $false -PasswordNeverExpires $false -ChangePasswordAtLogon $false
     -PasswordNotRequired $true -Enabled $true -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force)
      }
     

    теперь вот что выдает:

    PS C:\Users\Administrator> C:\Scripts\test1.ps1
    Import-CSV : The member "DisplayName " is already present.
    At C:\Scripts\test1.ps1:3 char:10
    + $Users = Import-CSV -Path "C:\Scripts\users.csv" -delimiter ";"
    +          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Import-Csv], ExtendedTypeSystemException
        + FullyQualifiedErrorId : AlreadyPresentPSMemberInfoInternalCollectionAdd,Microsoft.PowerShell.Commands.ImportCsvCommand
     
    cmdlet New-ADUser at command pipeline position 1
    Supply values for the following parameters:
    Name:

    1 марта 2017 г. 12:08
  • Поправили да не то, в CSV должен быть пункт Name и в New-ADuser -Name $user.Name

    Import-CSV : The member "DisplayName " is already present. - Вместо Name,два DisplayName

    • Изменено Kazun 1 марта 2017 г. 12:13
    1 марта 2017 г. 12:11
  • Поправили да не то, в CSV должен быть пункт Name и в New-ADuser -Name $user.Name

    PS C:\Users\Administrator> C:\Scripts\test1.ps1
    New-ADuser : An attempt was made to add an object to the directory with a name that is already in use
    At C:\Scripts\test1.ps1:30 char:2
    +  New-ADuser -Name $user.Name -GivenName $GivenName -SurName $Surname  -SamAccoun ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (CN=Dimitri Kara...s,DC=AGH,DC=com:String) [New-ADUser], ADException
        + FullyQualifiedErrorId : ActiveDirectoryServer:8305,Microsoft.ActiveDirectory.Management.Commands.NewADUser

    а что касается в CSV то там вот такая схема




















    wWWHomePage ipPhone facsimileTelephoneNumber
    Name  GivenName  Surname  sAMAccountName  Department  Title  Description  Password  DisplayName  Path  Company  userprincipalname  EmailAddress City Country MobilePhone PostalCode StreetAddress telephoneNumber wWWHomePage ipPhone facsimileTelephoneNumber



















    • Изменено dkarapetian 1 марта 2017 г. 12:30
    1 марта 2017 г. 12:29
  • В AD уже есть пользователь с таким именем:

    New-ADuser : An attempt was made to add an object to the directory with a name that is already in use

    1 марта 2017 г. 12:33
  • В AD уже есть пользователь с таким именем:

    New-ADuser : An attempt was made to add an object to the directory with a name that is already in use

    я вас понял и в итоге все равно не работает скрипт, возможно есть какие то говые шаблоны??
    1 марта 2017 г. 12:42
  • В AD уже есть пользователь с таким именем:

    New-ADuser : An attempt was made to add an object to the directory with a name that is already in use

    я вас понял и в итоге все равно не работает скрипт, возможно есть какие то говые шаблоны??

    1. Нет csv файла с правильными данными

    2. Есть дубликаты в AD

    3. Поправить скрипт,как уже сказали выше

    4. Команду шаблон тоже привели

    Как поправите п1-3, то прикладывайте результат вывода команды с ошибкой.

    1 марта 2017 г. 13:01