Заполняем Active Directory тестовыми пользователями для SharePoint

от автора

Когда вы тестируете SharePoint или любые другие продукты, использующие Active Directory, очень важно использовать большие объемы данных, приближенные к реальным. Например, если у вас в Active Directory 10 или 20 тестовых пользователей, а возможно 50 или 100 с именами типа Тест 1, Тест 2 и т.д., этого явно недостаточно.

Рассмотрим, как можно заполнить Active Directory большим (over 9000) количеством данных, максимально приближенных к реальности.

Получаем данные

Для генерации пользовательских данных воспользуемся сервисом Fake Name Generator. У этого замечательного сервиса есть возможность сгенерировать до 50 000 пользователей за один раз. При этом можно выбрать страну, и свойства пользователей, включенные в экспортный файл.

Выбрав все свойства, вы получите файл со всеми данными по электронной почте.

Импортируем данные

Рассмотрим импорт данных из полученного ранее CSV файла с помощью PowerShell. Мы немного изменим исходные данные, и далее создадим учетные записи в Active Directory на их основе.

Сперва создадим OU («Demo Users»), куда разместим всех новых пользователей и зададим политику для паролей

Import-Module ActiveDirectory $dn = (Get-ADDomain).DistinguishedName $forest = (Get-ADDomain).Forest  Set-ADDefaultDomainPasswordPolicy $forest -ComplexityEnabled $false -MaxPasswordAge "1000" -PasswordHistoryCount 0 -MinPasswordAge 0  $ou = Get-ADOrganizationalUnit -Filter 'name -eq "Demo Users"' if ($ou -eq $null) {     New-ADOrganizationalUnit -Name "Demo Users" -Path $dn     $ou = Get-ADOrganizationalUnit -Filter 'name -eq "Demo Users"' } 

Импортируем CSV файл в PowerShell

$data = Import-Csv .\<Имя_Вашего_Файла>.csv 

Сейчас мы разместим наши данные в новый объект PowerShell. Обратите внимание, что в данном объекте используются названия параметров командлета New-ADUser, поэтому если вы хотите добавить атрибуты к аккаунтам, это нужно сделать здесь

$refineddata = $data | select  @{Name="Name";Expression={$_.Surname + ", " + $_.GivenName}},`     @{Name="SamAccountName"; Expression={$_.Username}},`     @{Name="UserPrincipalName"; Expression={$_.Username +"@" + $forest}},`     @{Name="GivenName"; Expression={$_.GivenName}},`     @{Name="Surname"; Expression={$_.Surname}},`     @{Name="DisplayName"; Expression={$_.Surname + ", " + $_.GivenName}},`     @{Name="City"; Expression={$_.City}},`     @{Name="StreetAddress"; Expression={$_.StreetAddress}},`     @{Name="State"; Expression={$_.State}},`     @{Name="Country"; Expression={$_.Country}},`     @{Name="PostalCode"; Expression={$_.ZipCode}},`     @{Name="EmailAddress"; Expression={$_.EmailAddress}},`     @{Name="AccountPassword"; Expression={ (Convertto-SecureString -Force -AsPlainText "WictorRocks!")}},`     @{Name="OfficePhone"; Expression={$_.TelephoneNumber}},`     @{Name="Title"; Expression={$_.Occupation}},`     @{Name="Enabled"; Expression={$true}},`     @{Name="PasswordNeverExpires"; Expression={$true}} 

Обратите внимание, что в скрипте выше поправлены свойства Name и DisplayName, и в UPN используется DNS-имя леса. Кроме этого все пользователи активны.

Время добавить пользователей в Active Directory! Но мы не будем их добавлять в тот OU, который создали ранее. Вместо этого, создадим OU для стран пользователей. Это позволяет лучше управлять тестовыми данными и протестировать работу в разных OU

$refineddata | % {     $subou = Get-ADOrganizationalUnit -Filter "name -eq ""$($_.Country)""" -SearchBase $ou.DistinguishedName     if($subou -eq $null) {         New-ADOrganizationalUnit -Name $_.Country -Path $ou.DistinguishedName         $subou = Get-ADOrganizationalUnit -Filter "name -eq ""$($_.Country)""" -SearchBase $ou.DistinguishedName     }     $_ | Select @{Name="Path"; Expression={$subou.DistinguishedName}},* | New-ADUser } 

Если у вас будут какие-то ошибки во время создания пользователей, скорее всего они связаны с тем, что у некоторых из них одинаковые имена пользователей.

Результат

Зайдите в консоль управления Active Directory и посмотрите, что у вас получилось

Если вы выберете какой-нибудь OU, то увидите там очень много пользователей

При этом профиль пользователей будет заполнен

Заключение

Вы посмотрели как быстро и просто можно заполнить свой каталог Active Directory для тестовых сценариев.

Важно, что в случае с SharePoint может быть накладно создание излишне большого числа аккаунтов ввиду затрат на их синхронизацию и индексацию.

ссылка на оригинал статьи http://habrahabr.ru/post/159709/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *