Active DirectoryにSharePointのテストユーザーを入力する

SharePointまたはActive Directoryを使用する他の製品をテストする場合、実際に近い大量のデータを使用することが非常に重要です。 たとえば、Active Directoryに10〜20人のテストユーザーがいて、テスト1、テスト2などの名前の50または100人のユーザーがいる場合、これは明らかに十分ではありません。



Active Directoryをできるだけ現実に近い大量(9000以上)のデータで満たす方法を検討してください。





データを取得します



ユーザーデータを生成するには、 Fake Name Generatorサービスを使用します 。 このすばらしいサービスには、 一度に最大50,000人のユーザーを生成する機能があります 。 この場合、エクスポートファイルに含まれる国とユーザープロパティを選択できます。



すべてのプロパティを選択すると、すべてのデータを含むファイルが電子メールで届きます。



データをインポートする



PowerShellを使用して、以前に受信したCSVファイルからデータをインポートすることを検討してください。 初期データをわずかに変更し、それらに基づいてActive Directoryにアカウントを作成します。



最初に、すべての新しいユーザーを配置し、パスワードのポリシーを設定するOU(「デモユーザー」)を作成します。



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の場合、アカウントの同期とインデックス作成のコストのために、不必要に多数のアカウントを作成するとコストがかかる可能性があることが重要です。



All Articles