PowerShellでActive Directoryをセットアップする方法

概要

本記事では、Windows Server上でPowerShellを使用してActive Directory(AD)を構築し、2台目のドメインコントローラー(DC)を追加するまでの手順を解説します。

変数表記について

本記事では、環境依存の値を以下のように表記しています。実際の構築環境に合わせて置き換えてください。

変数名 設定例 説明
<<DOMAIN_NAME>> example.local Active Directoryドメイン名
<<NETBIOS_NAME>> EXAMPLE NetBIOS名(大文字推奨)
<<ADMIN_PASSWORD>> P@ssw0rd! DSRMモード(ディレクトリサービス復元モード)用パスワード
<<DOMAIN_ADMIN>> Administrator ドメイン管理者アカウント
<<DOMAIN_ADMIN_PASSWORD>> P@ssw0rd! ドメイン管理者パスワード(自動化で使用)
<<INTERFACE_ALIAS>> Ethernet ネットワークアダプタ名(例:Ethernet、Ethernet0など)
<<PRIMARY_DC_IP>> 192.168.1.10 1号機(プライマリDC)のIPアドレス

Step 1: 1号機にAD DS役割をインストール

まず、1号機にActive Directory Domain Services(AD DS)役割をインストールします。

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

Step 2: 新しいフォレストを作成しドメインコントローラーに昇格

PowerShellで新しいフォレストを作成し、1号機をプライマリドメインコントローラーとして昇格させます。

フォレスト/ドメイン機能レベル一覧

機能レベル 列挙子名
Windows Server 2008 Window2008
Windows Server 2008 R2 Window2008R2
Windows Server 2012 Window2012
Windows Server 2012 R2 Window2012R2
Windows Server 2016 WinThreshold
Windows Server 2025 Win2025

💡 この例では、フォレストおよびドメイン機能レベルとして Windows Server 2016(WinThreshold) を使用しています。

Install-ADDSForest `
 -DomainName "<<DOMAIN_NAME>>" `
 -DomainNetbiosName "<<NETBIOS_NAME>>" `
 -SafeModeAdministratorPassword (ConvertTo-SecureString "<<ADMIN_PASSWORD>>" -AsPlainText -Force) `
 -InstallDNS:$true `
 -ForestMode WinThreshold `
 -DomainMode WinThreshold `
 -Force

⚠️ 再起動を求められた場合は次のコマンドで再起動します。

Restart-Computer

Step 3: 1号機のドメインコントローラーを確認

昇格後、ドメイン構成が正常に作成されたか確認します。

Get-ADDomain
Get-ADDomainController
Get-Service DNS

Step 4: 2号機にAD DS役割をインストール

次に、2号機にAD DSを追加インストールします。

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

Step 5: DNS設定の確認と構成

2号機をドメインコントローラーに昇格する前に、DNS設定を必ず確認します。
ドメイン参加およびレプリケーションには、既存の1号機(プライマリDC)のDNSが正しく参照できる必要があります。

# 現在のネットワーク設定を確認
Get-DnsClientServerAddress

# 1号機のIPアドレスを指定
Set-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -ServerAddresses "<<PRIMARY_DC_IP>>"

⚠️ 2号機のDNSが自己参照(自分自身のIP)になっていると、ドメイン昇格時にエラーが発生します。
必ず1号機(プライマリDC)を最初のDNSサーバーとして指定してください。


Step 6: 2号機を追加ドメインコントローラーとして昇格

# 資格情報
$User = "<<NETBIOS_NAME>>\<<DOMAIN_ADMIN>>"
$Pass = ConvertTo-SecureString "<<DOMAIN_ADMIN_PASSWORD>>" -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential($User, $Pass)

Install-ADDSDomainController `
 -DomainName "<<DOMAIN_NAME>>" `
 -Credential $Cred `
 -SafeModeAdministratorPassword (ConvertTo-SecureString "<<ADMIN_PASSWORD>>" -AsPlainText -Force) `
 -InstallDNS:$true `
 -Force

⚠️ 再起動を求められた場合は次のコマンドで再起動します。

Restart-Computer

Step 7: ドメインコントローラー構成を検証

両方のドメインコントローラーがレプリケーション対象として登録されているか確認します。

Get-ADDomainController -Filter *

レプリケーションの状態を詳細に確認するには以下を使用します。

repadmin /replsummary
repadmin /showrepl

Step 8: DNSと同期状態を確認(オプション)

ドメインコントローラーのDNSサービスや時刻同期を確認します。

Get-Service DNS
w32tm /query /status

結論

これらの手順を実行することで、PowerShellを使ってActive Directory環境を構築し、冗長性を確保したドメインコントローラー構成を迅速に展開できます。スクリプト化することで、将来的な環境再構築や複数拠点展開も容易になります。