コマンド一発で AD 検証環境を即構築してみた

コマンド一発で AD 検証環境を即構築してみた

EC2 でドメイン環境の検証をしたい時に、簡単に AD 環境を用意したかったので試してみました。
2025.12.08

この記事はアノテーション株式会社 AWS Technical Support Advent Calendar 2025 | Advent Calendar 2025 - Qiita 8 日目の記事です。

概要

EC2 で AD の検証環境を作るときに、コマンドで簡単にドメイン環境を作りたかったので試しました。
AD ドメイン環境の確認コマンドなども記載しています。

手順は Windows Server 2025 での AD 構築からドメイン参加検証までの内容を記載します。
(Windows Server 2022, 2016 の環境でもスクリプトは利用可能)

Active Directory 構築

PowerShell コマンドで構築

EC2 で Windows Server 2025 を構築し、PowerShell 上で下記コマンドを実行して、ドメイン環境を構築します。
(検証した AMI: Windows_Server-2025-Japanese-Full-Base-2025.11.12)

PowerShell コマンドだと 2 つのコマンドで構築できます。

PowerShell コマンド

# 管理者権限で PowerShell を起動

# AD DSの役割をインストール
Install-WindowsFeature -name AD-Domain-Services -IncludeManagementTools

# Active Directoryフォレストとドメインを作成
Install-ADDSForest `
  -CreateDnsDelegation:$false `
  -DatabasePath "C:\Windows\NTDS" `
  -DomainMode "WinThreshold" `
  -DomainName "stg-domain.local" ` # ドメイン名
  -DomainNetbiosName "STGDOMAIN" `
  -ForestMode "WinThreshold" `
  -InstallDns:$true ` # DNS 有効化
  -LogPath "C:\Windows\NTDS" `
  -NoRebootOnCompletion:$false `
  -SysvolPath "C:\Windows\SYSVOL" `
  -Force:$true `
  -SafeModeAdministratorPassword (ConvertTo-SecureString "任意のパスワード" -AsPlainText -Force)

✅ 必ずドメイン名やパスワードを適宜変更してから実行してください。
✅ 同じネットワーク内に同じドメイン名は作成しないでください。(認証やレプリケーション等に問題が起こる可能性があります)

設定パラメータ説明

パラメータ 説明
DomainName ドメイン名 完全修飾ドメイン名 (FQDN)
DomainNetbiosName ドメイン名に準ずる NetBIOS名
DomainMode WinThreshold Win2025 または WinThreshold ※1
ForestMode WinThreshold Win2025 または WinThreshold ※1
InstallDns $true DNS役割も同時にインストール
DatabasePath C:\Windows\NTDS ADデータベース保存先
LogPath C:\Windows\NTDS ログファイル保存先
SysvolPath C:\Windows\SYSVOL SYSVOL共有フォルダ
SafeModeAdministratorPassword 任意のパスワード ※2 DSRM パスワード

※1
WinThreshold は Windows Server 2016 の機能レベルを指します。Windows Server 2025 では新しい機能レベル Win2025 も指定できます。
(既存の古いドメインコントローラーとの互換性が必要な場合は WinThreshold のままでも動作します)

※2
ここで設定している任意のパスワードは、DSRM パスワード(Directory Services Restore Mode)で、Active Directory 障害時の復旧作業時に使用するものです。通常のログイン時には使用しません。

https://learn.microsoft.com/en-us/powershell/module/addsdeployment/install-addsforest?view=windowsserver2025-ps

構築 (PowerShell コマンド)

Install-WindowsFeature コマンドで AD の役割をインストール

2025-12-06 15_35_13-18.181.215.18 - リモート デスクトップ接続

Install-ADDSForest コマンドでフォレストとドメインを作成
2025-12-06 15_36_02-18.181.215.18 - リモート デスクトップ接続

2025-12-06 15_36_21-18.181.215.18 - リモート デスクトップ接続

大体 5 分程度で完了して、再起動のポップアップが出ます。
ポップアップをそのまま置いておくと、自動で再起動がはじまります。

ドメイン環境の確認

構築後に下記コマンドを実行して、 AD 環境が正しくセットアップされたか確認します。

AD ドメイン環境の確認

# AD ドメインの詳細確認
Get-ADDomain
# 出力例 (抜粋)
# DNSRoot                : stg-domain.local
# DomainMode             : Windows2016Domain # Win2025 を指定した場合 = Windows2025Domain
# DomainSID              : S-X-X-XX-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX
# Forest                 : stg-domain.local
# Name                   : stg-domain
# NetBIOSName            : STGDOMAIN
# PDCEmulator            : EC2AMAZ-XXXXXXX.stg-domain.local
# RIDMaster              : EC2AMAZ-XXXXXXX.stg-domain.local
# InfrastructureMaster   : EC2AMAZ-XXXXXXX.stg-domain.local

# ドメインコントローラーの確認 (オプション)
Get-ADDomainController

# フォレスト情報の確認 (オプション)
Get-ADForest

2025-12-06 15_48_08-18.181.215.18 - リモート デスクトップ接続

サーバーがドメインコントローラーとして機能しています。

dcdiag で ADDS が正しく動作しているか確認

# ディレクトリサーバー診断
dcdiag /v

2025-12-06 17_03_31-18.181.215.18 - リモート デスクトップ接続

2025-12-06 17_04_04-18.181.215.18 - リモート デスクトップ接続

全て合格すれば OK です。
一部に合格しない場合、関連する設定値を調査して、問題ない内容か確認します。
(例: SYSVOL の問題が表示されている場合、SYSVOL が問題なく共有されているか等)

SYSVOL が共有されているか確認

# ファイル共有状況の確認
net share

2025-12-06 17_08_40-18.181.215.18 - リモート デスクトップ接続

SYSVOL と NETLOGON が共有されていれば正常です。

ipconfig、名前解決の確認

# ドメイン環境となっているか確認
ipconfig /all
# 出力例 (抜粋)
#    プライマリ DNS サフィックス . . . . .: stg-domain.local
# DNS サーバー. . . . . . . . . . . . .: ::1
#                                        127.0.0.1

# 名前解決できるか確認
nslookup stg-domain.local

2025-12-06 17_02_51-18.181.215.18 - リモート デスクトップ接続

DNSサーバーが localhost を指していれば、このサーバーがドメインの DNS サーバーとして動作していることが確認できます。
名前解決も結果が返ってくれば OK です。

2025-12-06 15_59_10-18.181.215.18 - リモート デスクトップ接続

Active Directory 管理ツールもちゃんと入っていることを確認しました。

GUI で構築するのは骨が折れるので、このスクリプトで EC2 起動時にドメイン環境をセットアップできるのは個人的に嬉しいです。

ドメイン参加テスト

  • 別の Windows EC2 インスタンスでドメイン参加テスト

DNS設定

# ネットワークアダプター名を確認
Get-NetAdapter

# DNSサーバーを設定(アダプター名が"イーサネット"の場合)
Set-DnsClientServerAddress -InterfaceAlias "イーサネット" -ServerAddresses "AD サーバの IP アドレス"

# 設定を確認
Get-DnsClientServerAddress

# DNS解決の確認
nslookup stg-domain.local

✅ ドメイン参加 EC2 で、VPC CIDR、もしくは AD サーバの IP 宛の通信を SG インバウンドルールで許可しておくこと。

ドメイン参加

# ドメインに参加
Add-Computer -DomainName "stg-domain.local" -Credential (Get-Credential)

# 後で手動再起動
Restart-Computer

2025-12-06 17_43_49-35.78.118.69 - リモート デスクトップ接続

2025-12-06 17_45_24-35.78.118.69 - リモート デスクトップ接続

ドメイン参加も成功しました!

最後に

ドメイン環境の検証時にささっと構築確認できるナレッジが欲しかったので作りました。
このブログの内容がどなたかの参考になれば幸いです。

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、さまざまな背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

この記事をシェアする

FacebookHatena blogX

関連記事