Добрый день, помогите пожалуйста написать правильно цикл правильно или подскажите какой нибудь альтернативный способ использования циклов в командатлете New-ADUser
имею такой скрипт, который перебирает значения в эксель и добавляет юзера из списка.
Цикл почему то работает неправильно:
$Excel = New-Object -COM "Excel.Application"
$Excel.Visible = $false
$WorkBooks = $Excel.Workbooks.Open("C:\Users\admin\Desktop\promo_add.xlsx")
$WorkSheet = $WorkBooks.Sheets.Item("Sheet1")
#$collection = New-Object System.Collections.ArrayList
$name_us = $WorkSheet.Range("J5:J6").Value2
$name_emp = $WorkSheet.Range("H5:H6").Value2
$surn_emp = $WorkSheet.Range("I5:I6").Value2
$log_us = $WorkSheet.Range("L5:L6").Value2
$dolj = $WorkSheet.Range("P5:P6").Value2
$pr_name = $WorkSheet.Range("M5:M6").Value2
$user_path = $WorkSheet.Range("Q5:Q6").Value2
офис,OU=Компаньон,DC=dc,DC=kompanion,DC=kg"
$user_office = $WorkSheet.Range("N5:N6").Value2
$dep_us = $WorkSheet.Range("O5:O6").Value2
$group_stajer = $WorkSheet.Range("C36:C45").Value2
$excel.ActiveWorkbook.close()
$excel.Quit()
ForEach($name_us1 in $name_us){
ForEach($name_emp1 in $name_emp){
ForEach($surn_emp1 in $surn_emp){
ForEach($log_us1 in $log_us){
ForEach($pr_name1 in $pr_name){
ForEach($dep_us1 in $dep_us){
ForEach($dolj1 in $dolj){
ForEach($user_office1 in $user_office){
ForEach($user_path1 in $user_path){
New-ADUser -Name $name_us1 -GivenName $name_emp1 -Surname $surn_emp1 -DisplayName $name_us1 -SamAccountName $log_us1 -UserPrincipalName $pr_name1 -Department $dep_us1 -Title $dolj1 -Company $user_office1 -Path $user_path1 -AccountPassword (ConvertTo-SecureString -AsPlainText “Qwerty123$” -Force ) -ChangePasswordAtLogon $True -Enabled $True
}}}}}}}}}
почему то после запуска ругается что запись существует:
New-ADUser : Указанная учетная запись уже существует
C:\Users\admin\Desktop\add_promo.ps1:31 знак:1
+ New-ADUser -Name $name_us1 -GivenName $name_emp1 -Surname $surn_emp1 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (CN=Елена Яковле...kompanion,DC=kg:String) [New-ADUser], ADIdentityAlreadyExistsException
+ FullyQualifiedErrorId : ActiveDirectoryServer:1316,Microsoft.ActiveDirectory.Management.Commands.NewADUser
```
Как можно правильно написать скрипт без ошибок? Вариант с выгрузкой csv не подходит уже смотрел в инете так как отчет индивидуален и каждый раз корректировать заголовки тратится время
к примеру то что по ссылке https://winitpro.ru/index.php/2018/03/02/new-aduser-sozdaem-polzovatelej-v-domene/