Хобрук: Ваш путь к мастерству в программировании

Powershell Добавление нескольких пользователей на основе шаблона

Мне было интересно, может ли кто-нибудь помочь мне импортировать пользователей из файла CSV или Excel в AD на основе пользователя Templateuser. Однако я понятия не имею, как получить строку SamAccountNAme и отображаемое имя для строки из файла CSV, поэтому мне не нужно изменять ее вручную.

$UserInstance = Get-ADuser -Identity "SaraDavis"
New-ADUser -SAMAccountName "EllenAdams" -Instance $userInstance -DisplayName "EllenAdams"

Ответы:


1

CSV-файл будет выглядеть примерно так. Предположим, что эта информация входит в c:\test\users.csv.

SamAccountName,DisplayName
trevor,Trevor Sullivan
nancy,Nancy Drew
billy,Billy Bob

Скрипт будет выглядеть примерно так:

# 1. Get a reference to the template user, with all properties
$TemplateUser = Get-ADUser -Identity TemplateUser -Properties *;

# 2. Import the CSV file
$Data = Import-Csv -Path c:\test\users.csv;

# 3. Create a new user for each row / item in the CSV file
foreach ($Item in $Data) {
    New-ADUser -Identity $Item.SamAccountName -DisplayName $Item.DisplayName -Parameter1 $TemplateUser.Property1 ... ... ... ...;
}
13.01.2014
  • Спасибо за ваш ответ. Я попытался выполнить приведенный ниже сценарий.... Но по какой-то причине он выдает следующую ошибку. Я отдельно запустил первую строку, чтобы проверить, находит ли она пользователя и выполняет ли она его без проблем. 14.01.2014
  • New-ADUser : не удается найти параметр, соответствующий имени параметра «Идентификация». В C:\ScriptTest.ps1:4 char:25 + New-ADUser -Identity ‹‹‹‹ $Item.SamAccountName -DisplayName $Item.DisplayName -Parameter1 $TemplateUser 1; + CategoryInfo: InvalidArgument: (:) [New-ADUser], ParameterBindingException + FullyQualifiedErrorId: NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser 14.01.2014
  • New-ADUser : не удается найти параметр, соответствующий имени параметра «Идентификация». В C:\ScriptTest.ps1:4 char:25 + New-ADUser -Identity ‹‹‹‹ $Item.SamAccountName -DisplayName $Item.DisplayName -Parameter1 $TemplateUser 1; + CategoryInfo: InvalidArgument: (:) [New-ADUser], ParameterBindingException + FullyQualifiedErrorId: NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser 14.01.2014
  • Извините, это должен был быть просто пример. Похоже, что New-ADUser имеет параметр -SamAccountName. 14.01.2014
  • было бы что-то вроде этого? $TemplateUser = Get-ADUser -SamAccountName TemplateUser -Properties *; $Data = Import-Csv -Path c:\testlijst.csv; foreach ($Item in $Data) { New-ADUser -SamAccountName $Item.SamAccountName -DisplayName $Item.DisplayName -Parameter1 $TemplateUser.Property1; } 15.01.2014
  • Новые материалы

    Неделя 1 — Кентерберийские рельсы.
    Неделя 1 — Кентерберийские рельсы. So. Мы все еще живы, все еще усердно работаем и еще не пассивно-агрессивно рассылаем друг другу сообщения «за мое последнее сообщение в Slack…», поэтому, на..

    Цена завтрашнего дня  — Джефф Бут
    Технологический прогресс в наши дни происходит с молниеносной скоростью, и мы не в состоянии это понять. Джефф в основном говорит о влиянии технологий на экономику по всему миру. Он твердо верит..

    Данные: суперсила современного бизнеса
    В цифровой среде данные превратились из простого побочного продукта бизнес-операций в центральный актив, стимулирующий рост и инновации. Крейг Манди, бывший главный директор по стратегии..

    Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
    Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..

    AST для разработчиков JavaScript
    TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..

    5 проектов на Python, которые нужно создать прямо сейчас!
    Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:

    Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
    DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..