Windows Server 2025 の Active Directory で、検証用の OU、ユーザー、グループ一式を、PowerShell で作成してみます。
今回の構成
下記のような AD オブジェクトを作成してみます。
- hv.go-lab.jp(ドメイン)
- Demo-OU(OU)
- demo-group-a(セキュリティ グループ)
- demo-user-01(ユーザー #1)
- demo-user-02(ユーザー #2)
- demo-user-03(ユーザー #3)
- demo-group-a(セキュリティ グループ)
- Demo-OU(OU)
1. PowerShell とモジュールのインポート
まず、ドメイン コントローラーで PowerShell コンソールを開き、ActiveDirectory モジュールを読み込んでおきます。まだモジュールがインストールされていない場合は、エラーになるはずです。
Import-Module ActiveDirectory
2. OU の作成
グループとユーザーを格納する、OU を作成します。
New-ADOrganizationalUnit -Path "DC=hv,DC=go-lab,DC=jp" -Name "Demo-OU"
3. グループとユーザーの作成
グループを作成します。
New-ADGroup ` -Name "demo-group-a" ` -GroupScope Global ` -GroupCategory Security ` -Path "OU=Demo-OU,DC=hv,DC=go-lab,DC=jp"
ユーザーを作成します。
New-ADUser ` -Name "demo-user-01" ` -SamAccountName "demo-user-01" ` -UserPrincipalName "demo-user-01@hv.go-lab.jp" ` -EmailAddress "demo-user-01@hv.go-lab.jp" ` -Surname "demo" ` -GivenName "demo-user-01" ` -DisplayName "demo-user-01" ` -AccountPassword (ConvertTo-SecureString "Hyperv1!" -AsPlainText -Force) ` -Path "OU=Demo-OU,DC=hv,DC=go-lab,DC=jp" ` -Enabled $true ` -PasswordNeverExpires $true
作成したユーザーを、グループに追加します。
Add-ADGroupMember ` -Identity "demo-group-a" ` -Members "demo-user-01"
これで、「Active Directory ユーザーとグループ」を確認すると、下記のようにグループとユーザーが作成されるはずです。

ユーザーのプロパティを開くと、オプション(-EmailAddress)で指定したメール アドレスが設定されています。

「-PasswordNeverExpires $true」オプションを指定したので、パスワードが無期限になっています。

そして、「demo-group-a」グループにも参加できています。

4. オブジェクトの作成(スクリプト)
ここまでの PowerShell コマンドをまとめて、下記のようなスクリプトを用意してみました。
- OUは、事前に作成しておきます。
- L3~L10 の変数に、パラメータを指定しておきます。
PowerShell コンソールで実行すると、下記のようにグループとユーザーが作成されます。グループと1つめのユーザーは、すでに作成されているのでスキップされています。
PS C:\work> .\create_lab_users.ps1 SKIP Create Group: demo-group-a SKIP Create User: demo-user-01 Create User: demo-user-02 Create User: demo-user-03
これで、下記のようにグループとユーザーが作成された状態になりました。

おまけ:オブジェクトの削除
今回作成したグループとユーザーを、OU ごと削除してみます。
OU「Demo-OU」は、下記のように Get-ADOrganizationalUnit で取得できます。
PS C:\> Get-ADOrganizationalUnit -Filter "Name -eq 'Demo-OU'"
City :
Country :
DistinguishedName : OU=Demo-OU,DC=hv,DC=go-lab,DC=jp
LinkedGroupPolicyObjects : {}
ManagedBy :
Name : Demo-OU
ObjectClass : organizationalUnit
ObjectGUID : 1c3a7e1a-66c3-4371-9d7d-807559aaddaf
PostalCode :
State :
StreetAddress :
デフォルトでは、OU が間違って削除されないように保護されているので、保護設定を解除します。
Get-ADOrganizationalUnit -Filter "Name -eq 'Demo-OU'" | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $false
OU を削除します。「-Recursive」オプションを付与することで、OU に格納されているグループやユーザーも、まとめて削除できます。
Get-ADOrganizationalUnit -Filter "Name -eq 'Demo-OU'" | Remove-ADOrganizationalUnit -Recursive -Confirm:$false
以上。