Hyper-V と AD
〜 みんな仲良く Windows 〜
    
    
2026-04-26 作成 福島
TOP > tips > hyperv-ad
[ TIPS | TOYS | OTAKU | LINK | MOVIE | CGI | AvTitle | ConfuTerm | HIST | AnSt | Asob | Shell | GBC | LLM ]

0. 前置き

本稿は、Hyper-V に 2 つの Windows を仮想マシンとして用意し、Active Directory を構築します。

今回の作業は、可能な限り GUI と追加ソフトを回避しています。

構築環境
種別名前内容IP アドレス備考
ホスト機hv-hostWindows Server 2025 Standard Edition192.168.11.150Hyper-V を提供する物理装置
仮想マシン 1v2025192.168.11.151ドメインコントローラ
仮想マシン 2v11Windows 11 Pro192.168.11.152ドメインメンバ
v2025 に対する操作を実施する
GW / DNS--192.168.11.1インターネットに接続しないなら不要

Active Directory ドメイン: example.local

インストールメディア
Windows設置パス (hv-host 内)評価期限*1備考
Windows Server 2025 Standard EditionC:\ISO\WindowsServer2025.iso180 日間ダウンロードサイトはこちら
https://www.microsoft.com/ja-jp/evalcenter/
Windows 11 ProC:\ISO\Windows11.iso90 日間
*1クリーンな動作確認を実現するため、使用期限のある評価版を使用しています。ライセンス登録すれば、そのまま無期限で使用可能になります。


1. Hyper-V ホストの用意

1-1. 物理サーバに Windows Server 2025 Standard をインストールする。
実務での仮想マシン (VM: Virtual Machine) は、用意したディスクイメージ (VHDX) を配置することにより構築するが、
マスターイメージは GUI で作成するのが現実的なため、Hyper-V ホストも GUI で用意する。
1-2. Hyper-V の実行可否を確認する。
ターミナル (管理者) のショートカットキー: >

 hv-host   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Hyper-V を実行できるか確認する*2
PS C:\> (Get-ComputerInfo)."HyperVisorPresent" 
True        ← True があること

PS C:\> exit 

*2False の場合は BIOS (UEFI) の設定を確認し、Intel VT-x や VT-d, SVM Mode や AMD-V を Enabled にすること。
KVM なら CPU の設定を見直すこと。(XML に cpu mode='host-model' "親 CPU からの引継ぎ" があること)
1-3. Hyper-V の管理ツールを組み込む。
 hv-host   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Hyper-V と管理ツールが組み込まれているか確認する
PS C:\> (Get-WindowsFeature Hyper-V).Installed 
False       ← False: 組み込まれていない

PS C:\> # Hyper-V と管理ツールを組み込む 再起動が必要
PS C:\> Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart 


ここで再起動がかかる

PS C:\> # Hyper-V と管理ツールが組み込まれているか確認する PS C:\> (Get-WindowsFeature Hyper-V).Installed True ← True: 組み込まれた PS C:\> # 仮想スイッチの存在を確認する (デフォルト)*3 PS C:\> Get-NetIPAddress -AddressFamily IPv4 | Select-Object ifIndex,InterfaceAlias, IPAddress ifIndex InterfaceAlias IPAddress ------- -------------- --------- 9 vEthernet (Realtek(R) PCI(e) Ethernet Controller - Virtual Switch) 192.168.11.150 1 Loopback Pseudo-Interface 1 127.0.0.1 PS C:\> # ネットワークアダプタを確認する (2)*4 PS C:\> Get-NetAdapter | Select-Object ifIndex,Name,MacAddress ifIndex Name MacAddress ------- ---- ---------- 9 vEthernet (Realtek(R) PCI(e) Ethernet Controller - Virtual Switch) E4-54-E8-9E-6C-37 3 イーサネット E4-54-E8-9E-6C-37 PS C:\> # 仮想スイッチの提供をを確認する*5 PS C:\> (Get-VMSwitch).Name Realtek(R) PCI(e) Ethernet Controller - Virtual Switch PS C:\> exit
*3*4vEthernet (ifIndex: 9) がイーサネット (3) E4-54-E8-9E-6C-37 を元にして提供されていることがわかる。
*5この名前を使用して仮想マシンから接続する。


2. 仮想マシン v2025 の用意

2-1. 仮想マシンとして Windows Server 2025 Standard をインストールする。
 hv-host   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # v2025 として仮想マシンを用意する
PS C:\> New-VM -Name "v2025" `
-MemoryStartupBytes 4GB `
-Generation 2 `
-Path "C:\Hyper-V\VMs" `
-NewVHDPath "C:\Hyper-V\VMs\v2025\Virtual Hard Disks\v2025.vhdx" `
-NewVHDSizeBytes 60GB 

PS C:\> # v2025 の CPU 数を指定する (仮想マシン作成後でも変更可能)
PS C:\> Set-VMProcessor -VMName "v2025" -Count 2 

PS C:\> # 仮想スイッチに接続する (上記 *5 で確認した名前に接続する)
PS C:\> Connect-VMNetworkAdapter -VMName "v2025" `
-SwitchName "Realtek(R) PCI(e) Ethernet Controller - Virtual Switch" 

PS C:\> # v2025 の DVD ドライブがあるか確認する
PS C:\> # 表示なし -> Add-VMDvdDrive を実行
PS C:\> # 表示あり -> Set-VMDvdDrive を実行
PS C:\> Get-VMDvdDrive -VMName "v2025" 
VMName ControllerType ControllerNumber ControllerLocation DvdMediaType Path
------ -------------- ---------------- ------------------ ------------ ----
v2025  SCSI           0                1                  None

PS C:\> # v2025 に DVD ドライブを追加してインストールメディアをマウントする
PS C:\> Add-VMDvdDrive -VMName "v2025" -Path "C:\ISO\WindowsServer2025.iso" 
PS C:\> Set-VMDvdDrive -VMName "v2025" -Path "C:\ISO\WindowsServer2025.iso" 

PS C:\> # v2025 の起動メディアの優先順を DVD ドライブにする
PS C:\> Set-VMFirmware -VMName "v2025" -FirstBootDevice (Get-VMDvdDrive -VMName "v2025") 
PS C:\> (Get-VMFirmware -VMName "v2025").BootOrder |
Select-Object BootType, @{N="DevicePath"; E={$_.Device.Name}} 
BootType DevicePath
-------- ----------
   Drive DVD ドライブ on SCSI controller number 0 at location 1
 Network ネットワーク アダプター
   Drive ハード ドライブ on SCSI controller number 0 at location 0

PS C:\> # v2025 を起動する (GUI) 画面が表示されたら 3 秒以内に何かキーを押すこと
PS C:\> vmconnect localhost "v2025" ; Start-VM -Name "v2025" 
PS C:\> exit 

2-2. GUI で Windows Server をインストールする。
GUI 画面が起動するので、普通に Windows Server 2025 Standard のインストールを進める。
(特記事項がないので手順は省略)


2-3. ディスクイメージを保存する。(必要なら)
Windows Server 2025 Standard のディスクイメージをマスターとして他で使用するなら、ここで以下の操作を実施する。

注意
sysprep.exe を実行すると Windows 管轄のレジストリも削除されるため、
UUID に紐づくソフトはライセンス切れになる恐れがある。

 v2025   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # WindowsUpdate を実施する (再起動する)
PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
PS C:\> Install-PackageProvider -Name NuGet -Force 
PS C:\> Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted 
PS C:\> Install-Module -Name PSWindowsUpdate -Force 
PS C:\> Import-Module PSWindowsUpdate 
PS C:\> Get-WindowsUpdate -Install -AcceptAll -AutoReboot 


ここで再起動がかかる

PS C:\> # オリジナル出荷状態にする PS C:\> C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown
ここで仮想マシンが停止する


→ v2025 が停止したら "C:\Hyper-V\VMs\v2025\Virtual Hard Disks\v2025.vhdx" をコピーして保存する。
2-4. v2025 で WinRM を許可する。
メンバがサーバへ確実に接続できるよう、サーバを固定 IP アドレスに設定してから WinRM の設定を実施する。

 v2025   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # 自分のコンピュータ名を変更する 再起動が必要
PS C:\> Rename-Computer -NewName "v2025" -Restart 


ここで再起動がかかる

PS C:\> # 自分のコンピュータ名を確認する PS C:\> hostname v2025 PS C:\> # 自分のインタフェースを確認する PS C:\> Get-Netadapter | Select-Object name,Status name Status ---- ------ イーサネット Up ← Up になっていること (Disabled だと New-NetIpaddress で検出できない) PS C:\> # 固定 IP アドレスにする PS C:\> New-NetIPAddress ` -InterfaceAlias "イーサネット" ` -IPAddress 192.168.11.151 -PrefixLength 24 ` -DefaultGateway 192.168.11.1 PS C:\> # DNS を設定する PS C:\> Set-DnsClientServerAddress ` -InterfaceAlias "イーサネット" ` -ServerAddresses 192.168.11.1 PS C:\> # WindowsUpdate を実施する (再起動する) PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 PS C:\> Install-PackageProvider -Name NuGet -Force PS C:\> Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted PS C:\> Install-Module -Name PSWindowsUpdate -Force PS C:\> Import-Module PSWindowsUpdate PS C:\> Get-WindowsUpdate -Install -AcceptAll -AutoReboot X ComputerName Result KB Size Title - ------------ ------ -- ---- ----- 1 V2025 Accepted KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139 (K... 1 V2025 Accepted KB5007651 21MB Windows Security platform の更新プログラム - KB 50... 1 V2025 Accepted KB2267602 198MB Microsoft Defender Antivirus のセキュリティ インテ... 1 V2025 Accepted KB5078740 21GB 2026-03 セキュリティ パッチ (KB5078740) (26100.32522) 2 V2025 Downloaded KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139 (K... 2 V2025 Downloaded KB5007651 21MB Windows Security platform の更新プログラム - KB 50... 2 V2025 Downloaded KB2267602 198MB Microsoft Defender Antivirus のセキュリティ インテ... 2 V2025 Downloaded KB5078740 21GB 2026-03 セキュリティ パッチ (KB5078740) (26100.32522) 3 V2025 Installed KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139 (K... 3 V2025 Installed KB5007651 21MB Windows Security platform の更新プログラム - KB 50... 3 V2025 Installed KB2267602 198MB Microsoft Defender Antivirus のセキュリティ インテ...
ここで再起動がかかる

PS C:\> # WinRM を有効化する PS C:\> winrm quickconfig -force WinRM サービスは、既にこのコンピューターで実行されています。 WinRM は、管理用にこのコンピューターへのリモート アクセスを許可するように設定されていません。 次の変更を行う必要があります: ローカル ユーザーにリモートで管理権限を付与するよう LocalAccountTokenFilterPolicy を構成してください。 WinRM はリモート管理用に更新されました。 ローカル ユーザーにリモートで管理権限を付与するよう LocalAccountTokenFilterPolicy を構成しました。 PS C:\> # WinRM のリスナを確認する PS C:\> winrm enumerate winrm/config/listener Listener Address = * Transport = HTTP Port = 5985 Hostname Enabled = true URLPrefix = wsman CertificateThumbprint ListeningOn = 127.0.0.1, 192.168.11.151, ::1, fe80::921e:2370:27b2:303d%12 PS C:\> exit
↓ Windows Defnder で遮断される場合は以下も実施する ↓

PS C:\> # 自分のインタフェースを確認する PS C:\> Get-NetIPAddress -AddressFamily IPv4 | Select-Object ifIndex, InterfaceAlias, IPAddress ifIndex InterfaceAlias IPAddress ------- -------------- --------- 15 イーサネット 192.168.11.151 ← 15 が割り当てられた 1 Loopback Pseudo-Interface 1 127.0.0.1 PS C:\> # ネットワークカテゴリを確認する (1) PS C:\> (Get-NetConnectionProfile -InterfaceIndex 15).NetworkCategory Public PS C:\> # NetworkCategory が Public なので Private に変更する (Public だと WinRM が遮断される) PS C:\> Set-NetConnectionProfile -InterfaceIndex 15 -NetworkCategory Private PS C:\> # ネットワークカテゴリを確認する (2) PS C:\> (Get-NetConnectionProfile -InterfaceIndex 15).NetworkCategory Private


3. 仮想マシン v11 の用意

3-1. 仮想マシンとして Windows 11 Pro をインストールする。
コマンド内容は上記 2-1 とほぼ同じ。
違うのは仮想マシン名とディスクイメージ名。

 hv-host   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # v11 として仮想マシンを用意する
PS C:\> New-VM -Name "v11" `
-MemoryStartupBytes 4GB `
-Generation 2 `
-Path "C:\Hyper-V\VMs" `
-NewVHDPath "C:\Hyper-V\VMs\v11\Virtual Hard Disks\v11.vhdx" `
-NewVHDSizeBytes 60GB 

PS C:\> # v11 の CPU 数を指定する (仮想マシン作成後でも変更可能)
PS C:\> Set-VMProcessor -VMName "v11" -Count 2 

PS C:\> # v11 の DVD ドライブがあるか確認する
PS C:\> # 表示なし -> Add-VMDvdDrive を実行
PS C:\> # 表示あり -> Set-VMDvdDrive を実行
PS C:\> Get-VMDvdDrive -VMName "v11" 
VMName ControllerType ControllerNumber ControllerLocation DvdMediaType Path
------ -------------- ---------------- ------------------ ------------ ----
v11    SCSI           0                1                  None

PS C:\> # v11 に DVD ドライブを追加してインストールメディアをマウントする
PS C:\> Add-VMDvdDrive -VMName "v11" -Path "C:\ISO\Windows11.iso" 
PS C:\> Set-VMDvdDrive -VMName "v11" -Path "C:\ISO\Windows11.iso" 

PS C:\> # v11 の起動メディアの優先順を DVD ドライブにする
PS C:\> Set-VMFirmware -VMName "v11" -FirstBootDevice (Get-VMDvdDrive -VMName "v11") 
PS C:\> (Get-VMFirmware -VMName "v11").BootOrder |
Select-Object BootType, @{N="DevicePath"; E={$_.Device.Name}} 
BootType DevicePath
-------- ----------
   Drive DVD ドライブ on SCSI controller number 0 at location 1
 Network ネットワーク アダプター
   Drive ハード ドライブ on SCSI controller number 0 at location 0

PS C:\> # v11 を起動する (GUI) 画面が表示されたら 3 秒以内に何かキーを押すこと
PS C:\> vmconnect localhost "v11" ; Start-VM -Name "v11" 
PS C:\> exit 

3-2. GUI で Windows 11 をインストールする。
GUI 画面が起動するので、普通に Windows 11 Pro のインストールを進める。
(特記事項がないので手順は省略)


この画面は Windows Server の使いまわし
3-3. 仮想スイッチに接続する
 hv-host   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # 仮想スイッチに接続する (上記 *5 で確認した名前に接続する)
PS C:\> Add-VMNetworkAdapter -VMName "v11" 
PS C:\> Connect-VMNetworkAdapter -VMName "v11" `
-SwitchName "Realtek(R) PCI(e) Ethernet Controller - Virtual Switch" 

PS C:\> exit 

3-4. ディスクイメージをコピーする。(必要なら)
Windows 11 Pro のディスクイメージをマスターとして他で使用するなら、ここで以下の操作を実施する。

注意
sysprep.exe を実行すると Windows 管轄のレジストリも削除されるため、
UUID に紐づくソフトはライセンス切れになる恐れがある。

 v11   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # WindowsUpdate を実施する (再起動する)
PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
PS C:\> Install-PackageProvider -Name NuGet -Force 
PS C:\> Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted 
PS C:\> Install-Module -Name PSWindowsUpdate -Force 
PS C:\> Set-ExecutionPolicy RemoteSigned -Scope Process -Force 
PS C:\> Import-Module PSWindowsUpdate 
PS C:\> Get-WindowsUpdate -Install -AcceptAll -AutoReboot 


ここで再起動がかかる

PS C:\> # オリジナル出荷状態にする PS C:\> C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown
ここで仮想マシンが停止する


→ v11 が停止したら C:\Hyper-V\VMs\v11\Virtual Hard Disks\v11.vhdx" をコピーして保存する。
3-5. WinRM を準備する。
 v11   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # 自分のコンピュータ名を変更する 再起動が必要
PS C:\> Rename-Computer -NewName "v11" -Restart 


ここで再起動がかかる

PS C:\> # WindowsUpdate を実施する (再起動する) PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 PS C:\> Install-PackageProvider -Name NuGet -Force PS C:\> Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted PS C:\> Install-Module -Name PSWindowsUpdate -Force PS C:\> Set-ExecutionPolicy RemoteSigned -Scope Process -Force PS C:\> Import-Module PSWindowsUpdate PS C:\> Get-WindowsUpdate -Install -AcceptAll -AutoReboot X ComputerName Result KB Size Title - ------------ ------ -- ---- ----- 1 V11 Accepted KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139... 1 V11 Accepted KB5007651 21MB Windows Security platform の更新プログラム - KB... 1 V11 Accepted KB2267602 198MB Microsoft Defender Antivirus のセキュリティ イ... 1 V11 Accepted KB5066128 179MB 2025-10 .NET Framework 3.5 および 4.8.1 の累積... 1 V11 Accepted KB5079473 89GB 2026-03 セキュリティ パッチ (KB5079473) (26200.... 2 V11 Downloaded KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139... 2 V11 Downloaded KB5007651 21MB Windows Security platform の更新プログラム - KB... 2 V11 Downloaded KB2267602 198MB Microsoft Defender Antivirus のセキュリティ イ... 2 V11 Downloaded KB5066128 179MB 2025-10 .NET Framework 3.5 および 4.8.1 の累積... 2 V11 Downloaded KB5079473 89GB 2026-03 セキュリティ パッチ (KB5079473) (26200.... 3 V11 Installed KB890830 82MB 悪意のあるソフトウェアの削除ツール x64 - v5.139... 3 V11 Installed KB5007651 21MB Windows Security platform の更新プログラム - KB... 3 V11 Installed KB2267602 198MB Microsoft Defender Antivirus のセキュリティ イ... 3 V11 Installed KB5066128 179MB 2025-10 .NET Framework 3.5 および 4.8.1 の累積...
ここで再起動がかかる

PS C:\> # WinRM サービスの状態を確認する (1) PS C:\> (Get-Service -Name WinRM).Status Stopped PS C:\> # WinRM サービスを開始する PS C:\> WinRM quickconfig -quiet PS C:\> # WinRM サービスの状態を確認する (2) PS C:\> (Get-Service -Name WinRM).Status Running
PS C:\> # 192.168.11.151 を盲信する (v2025 のはずだが、誰も保証しない) PS C:\> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.11.151" -Force PS C:\> # 盲信ホストを確認する PS C:\> (Get-Item WSMan:\localhost\Client\TrustedHosts).Value 192.168.11.151 ← 盲信ホスト PS C:\> exit
↓ 盲信ホストを使用しない場合は以下を実施する ↓

PS C:\> # 自分のインタフェースを確認する PS C:\> Get-NetIPAddress -AddressFamily IPv4 | Select-Object ifIndex, InterfaceAlias, IPAddress ifIndex InterfaceAlias IPAddress ------- -------------- --------- 2 イーサネット 192.168.11.152 ← 2 になっている 1 Loopback Pseudo-Interface 1 127.0.0.1 PS C:\> # ネットワークカテゴリを確認する (1) PS C:\> (Get-NetConnectionProfile -InterfaceIndex 2).NetworkCategory Public PS C:\> # NetworkCategory が Public なので Private に変更する (Public だと WinRM が遮断される) PS C:\> Set-NetConnectionProfile -InterfaceIndex 2 -NetworkCategory Private PS C:\> # ネットワークカテゴリを確認する (2) PS C:\> (Get-NetConnectionProfile -InterfaceIndex 2).NetworkCategory Private
3-6. WinRM で v11 → v2025 の接続ができるか確認する。
ターミナル (通常) のショートカットキー: >

 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # 自分のコンピュータ名を確認する
PS C:\> hostname 
v11

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 
[192.168.11.151]: PS C:\> hostname 
v2025     ← v2025 に接続できている

[192.168.11.151]: PS C:\> # 接続先のインタフェースを確認する
[192.168.11.151]: PS C:\> Get-NetIPAddress -AddressFamily IPv4 |
 Select-Object ifIndex, InterfaceAlias, IPAddress 
ifIndex InterfaceAlias              IPAddress
------- --------------              ---------
     15 イーサネット                192.168.11.151
      1 Loopback Pseudo-Interface 1 127.0.0.1

[192.168.11.151]: PS C:\> exit 
PS C:\> exit 


4. Active Directory のインストール

4-1. Active Directory をインストールする。
 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

PS C:\> # v2025 の構成を確認する
[192.168.11.151]: PS C:\> systeminfo | Select-String "ホスト名:","OS 構成:","ドメイン:" 
ホスト名:                   V2025
OS 構成:                    スタンドアロン サーバー
ドメイン:                   WORKGROUP

[192.168.11.151]: PS C:\> # v2025 に AD サービスをインストールする
[192.168.11.151]: PS C:\> Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools 
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True    No             Success   {Active Directory ドメイン サービス, グループ ポリシーの管理,...

[192.168.11.151]: PS C:\> # ドメインコントローラ用のパスワードを作成する
[192.168.11.151]: PS C:\> $dcpw = ConvertTo-SecureString "DC Password123" -AsPlainText -Force 

[192.168.11.151]: PS C:\> # v2025 を DC (Domain Controller) にする
[192.168.11.151]: PS C:\> Install-ADDSForest -InstallDns -DomainName "example.local" `
-SafeModeAdministratorPassword $dcpw -NoRebootOnCompletion:$false -Force 
警告: 権限のある親ゾーンが見つからないか、Windows DNS サーバーが実行されていないため、この DNS
サーバーの委任を作成できません。既存の DNS インフラストラクチャと統合する場合は、ドメイン "example.local"
外からの名前解決が確実に行われるように、親ゾーンでこの DNS
サーバーへの委任を手動で作成する必要があります。それ以外の場合は、何もする必要はありません。

警告: 権限のある親ゾーンが見つからないか、Windows DNS サーバーが実行されていないため、この DNS
サーバーの委任を作成できません。既存の DNS インフラストラクチャと統合する場合は、ドメイン "example.local"
外からの名前解決が確実に行われるように、親ゾーンでこの DNS
サーバーへの委任を手動で作成する必要があります。それ以外の場合は、何もする必要はありません。

Message                  Context           RebootRequired  Status
-------                  -------           --------------  ------
操作は正常に完了しました DCPromo.General.3          False Success


v2025 が再起動する

PS C:\> # v2025 へ接続する (Administrator) PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred PS C:\> # v2025 の構成を確認する [192.168.11.151]: PS C:\> systeminfo | Select-String "ホスト名:","OS 構成:","ドメイン:" ホスト名: V2025 OS 構成: プライマリ ドメイン コントローラー ドメイン: example.local [192.168.11.151]: PS C:\> exit PS C:\> exit
4-2. v11 を Active Directory に参加させる。
 v11   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # DNS を確認する (1)
PS C:\> Get-DnsClientServerAddress 
InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
イーサネット                         2 IPv4    {192.168.11.1}     ← これを変更する
イーサネット                         2 IPv6    {}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}

PS C:\> # DNS を v2025 へ変更する
PS C:\> Set-DnsClientServerAddress -InterfaceIndex 2 -ServerAddresses 192.168.11.151 

PS C:\> # DNS を確認する (2)
PS C:\> Get-DnsClientServerAddress 
InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
イーサネット                         2 IPv4    {192.168.11.151}   ← 変更された
イーサネット                         2 IPv6    {}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}

PS C:\> # DNS で AD ドメインが解決できることを確認する
PS C:\> nslookup example.local 
サーバー:  UnKnown
Address:  192.168.11.151

名前:    example.local
Address:  192.168.11.151

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $adcred = [PSCredential]::new("example\Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # Active Directory に v11 を参加させる
PS C:\> Add-Computer -Credential $adcred -DomainName "example.local" -Restart -Force 


ここで再起動がかかる

Active Directory から解除するにはこちら
PS C:\> # Administrator@v2025 の資格情報を作成する PS C:\> $adcred = [PSCredential]::new("example\Administrator", (Read-Host "Password" -AsSecureString)) Password: ******** # <-- Administrator@v2025 のパスワードを入力する PS C:\> # Active Directory から v11 を解除する (Workgroup へ戻す) PS C:\> Remove-Computer -UnjoinDomainCredential $adcred -Restart -Force


5. Active Directory にユーザを追加

5-1. Domain Controller にユーザを追加する。
ローカルにサインインする。
混同を避けるため、ユーザ名は .\user を指定する。

 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

[192.168.11.151]: PS C:\> # AD ドメイン (DC のリスト) にユーザを追加する
[192.168.11.151]: PS C:\> $password = ConvertTo-SecureString -AsPlainText -Force "P@ssw0rd123" 
[192.168.11.151]: PS C:\> New-ADUser -Name "aduser" `
-SamAccountName "aduser" `
-UserPrincipalName "aduser@example.local" `
-AccountPassword $password `
-Enabled $true `
-PasswordNeverExpires $true 

[192.168.11.151]: PS C:\> exit 
PS C:\> exit 

5-2. AD ユーザに RDP を許可する。
本稿ではメンバ PC も仮想マシンにしているため RDP を必要としているが、通常は RDP を使わずにサインインする。
メンバ PC のグループへユーザを追加するには管理者権限が必要。

 v11   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # AD ドメインに追加したユーザに v11 へのリモートデスクトップを許可する
PS C:\> Add-LocalGroupMember -Group "Remote Desktop Users" -Member "example\aduser" 

PS C:\> exit 

5-3. AD ユーザを削除する。(必要なら)
 v11   管理者 
− □ × 
 >_ 管理者: Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

[192.168.11.151]: PS C:\> # ユーザのサインインを禁止する
[192.168.11.151]: PS C:\> # -Identity は、上記 5-1 で使用した -SamAccountName のユーザ名に合わせる
[192.168.11.151]: PS C:\> Get-ADUser -Identity "aduser" -Properties Enabled | Select-Object Name, Enabled 
Name   Enabled
----   -------
aduser    True
[192.168.11.151]: PS C:\> Set-ADUser -Identity "aduser" -Enabled $false 
[192.168.11.151]: PS C:\> Get-ADUser -Identity "aduser" -Properties Enabled | Select-Object Name, Enabled 
Name   Enabled
----   -------
aduser   False      ← サインイン禁止になった
[192.168.11.151]: PS C:\> exit 


PS C:\> # リモートデスクトップを禁止する PS C:\> Remove-LocalGroupMember -Group "Remote Desktop Users" -Member "example\aduser" PS C:\> # 削除対象を確認する PS C:\> Get-CimInstance Win32_UserProfile | Where-Object { $_.LocalPath -eq "C:\Users\aduser" } | Select-Object LocalPath, SID, Loaded PS C:\> # 作業ファイルを削除する PS C:\> Get-CimInstance Win32_UserProfile | Where-Object { $_.LocalPath -eq "C:\Users\aduser" } | Remove-CimInstance
PS C:\> # Administrator@v2025 の資格情報を作成する PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) Password: ******** # <-- Administrator@v2025 のパスワードを入力する PS C:\> # v2025 へ接続する (Administrator) PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred [192.168.11.151]: PS C:\> AD ドメイン (DC のリスト) からユーザを削除する [192.168.11.151]: PS C:\> Remove-ADUser "aduser" -Confirm:$false [192.168.11.151]: PS C:\> exit PS C:\> exit


6. メンバ PC へルールを適用

AD ユーザに壁紙を強制する。

6-1. 壁紙にする画像ファイルを v2025 へ転送する。
画像ファイルは bg.png (生成 AI にて作成*6) を使用する。
あらかじめ v11 の「ピクチャ」に設置しておくこと。(C:\Users\User\Pictures\bg.png)
*6自由に頒布可能だが、著作権を主張してはいけない。

 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

[192.168.11.151]: PS C:\> # 壁紙用のフォルダーを作成する
[192.168.11.151]: PS C:\> mkdir C:\Shares\Wallpapers\ 
[192.168.11.151]: PS C:\> exit 


PS C:\> # v2025 へのセッションを作成する PS C:\> $sess = New-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred PS C:\> # bg.png を v2025 の C:\Shares\Wallpapers\ へ転送する PS C:\> Copy-Item -ToSession $sess ` -Path "C:\Users\User\Pictures\bg.png" ` -Destination "C:\Shares\Wallpapers\bg.png" PS C:\> # セッションを削除する PS C:\> Remove-PSSession $sess ; $sess = $null PS C:\> exit
6-2. v2025 の壁紙フォルダーを共有する
 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

[192.168.11.151]: PS C:\> # 壁紙フォルダーを共有にする (共有名: Wallpapers)
[192.168.11.151]: PS C:\> New-SmbShare -Name "Wallpapers" `
-Path "C:\Shares\Wallpapers" -ReadAccess "Everyone" 
Name       ScopeName Path                 Description
----       --------- ----                 -----------
Wallpapers *         C:\Shares\Wallpapers

[192.168.11.151]: PS C:\> # 壁紙フォルダーにユーザ権限を付与する
[192.168.11.151]: PS C:\> # Domain Users: AD グループ名
[192.168.11.151]: PS C:\> # (OI): Object Inherit - ファイルにも適用
[192.168.11.151]: PS C:\> # (CI): Container Inherit - サブフォルダーにも適用
[192.168.11.151]: PS C:\> # R: 読み取り
[192.168.11.151]: PS C:\> icacls "C:\Shares\Wallpapers" /grant "Domain Users:(OI)(CI)R" 
処理ファイル: C:\Shares\Wallpapers
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

[192.168.11.151]: PS C:\> exit 
PS C:\> exit 

6-3. GPO の作成と配布を実施する。
GPO の配布は、取得の要請をかける。(送り付けない)

 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # Administrator@v2025 の資格情報を作成する
PS C:\> $v2025cred = [PSCredential]::new("Administrator", (Read-Host "Password" -AsSecureString)) 
Password: ********      # <-- Administrator@v2025 のパスワードを入力する

PS C:\> # v2025 へ接続する (Administrator)
PS C:\> Enter-PSSession -ComputerName 192.168.11.151 -Credential $v2025cred 

[192.168.11.151]: PS C:\> # GPO を新規作成する (GPO: Group Policy Object)
[192.168.11.151]: PS C:\> # (GUID は可読性が低いので DisplayName で指定する)
[192.168.11.151]: PS C:\> $gpoName = "Desktop_Wallpaper_Policy" 
[192.168.11.151]: PS C:\> New-GPO -Name $gpoName -Comment "壁紙強制適用ポリシー" 
DisplayName      : Desktop_Wallpaper_Policy
DomainName       : example.local
Owner            : EXAMPLE\Domain Admins
Id               : 31d8642a-7651-4603-9e09-b31c266680fd
GpoStatus        : AllSettingsEnabled
Description      : 壁紙強制適用ポリシー
CreationTime     : 2026/04/07 17:53:48
ModificationTime : 2026/04/07 17:53:48
UserVersion      : AD のバージョン: 0、SysVol のバージョン: 0
ComputerVersion  : AD のバージョン: 0、SysVol のバージョン: 0
WmiFilter        :

[192.168.11.151]: PS C:\> # GPO をドメイン直下にリンクする
[192.168.11.151]: PS C:\> # (AD ドメイン全体を適用対象にする)
[192.168.11.151]: PS C:\> New-GPLink -Name $gpoName -Target "DC=example,DC=local" 
GpoId       : 31d8642a-7651-4603-9e09-b31c266680fd
DisplayName : Desktop_Wallpaper_Policy
Enabled     : True
Enforced    : False
Target      : DC=example,DC=local
Order       : 2

[192.168.11.151]: PS C:\> # GPO のレジストリ配布領域に壁紙のパスを設定する
[192.168.11.151]: PS C:\> # (AD メンバ PC にレジストリを強制させる)
[192.168.11.151]: PS C:\> Set-GPRegistryValue -Name $gpoName `
-Key "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" `
-ValueName "Wallpaper" -Type String -Value "\\v2025\Wallpapers\bg.png" 
DisplayName      : Desktop_Wallpaper_Policy
DomainName       : example.local
Owner            : EXAMPLE\Domain Admins
Id               : 31d8642a-7651-4603-9e09-b31c266680fd
GpoStatus        : AllSettingsEnabled
Description      : 壁紙強制適用ポリシー
CreationTime     : 2026/04/07 17:53:48
ModificationTime : 2026/04/07 18:02:58
UserVersion      : AD のバージョン: 1、SysVol のバージョン: 1
ComputerVersion  : AD のバージョン: 0、SysVol のバージョン: 0

[192.168.11.151]: PS C:\> # GPO のレジストリ配布領域に壁紙のスタイルを設定する
[192.168.11.151]: PS C:\> # (0:真ん中, 1:並べて表示, 2:拡大, 3:調整, 4:塗りつぶし)
[192.168.11.151]: PS C:\> Set-GPRegistryValue -Name $gpoName `
-Key "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" `
-ValueName "WallpaperStyle" -Type String -Value "4" 
DisplayName      : Desktop_Wallpaper_Policy
DomainName       : example.local
Owner            : EXAMPLE\Domain Admins
Id               : 31d8642a-7651-4603-9e09-b31c266680fd
GpoStatus        : AllSettingsEnabled
Description      : 壁紙強制適用ポリシー
CreationTime     : 2026/04/07 17:53:48
ModificationTime : 2026/04/07 18:03:28
UserVersion      : AD のバージョン: 2、SysVol のバージョン: 2
ComputerVersion  : AD のバージョン: 0、SysVol のバージョン: 0
WmiFilter        :

[192.168.11.151]: PS C:\> # AD ドメインに属する全ての PC に対して GPO 更新を指示する
[192.168.11.151]: PS C:\> # (デフォルトの 0~10分のランダムな遅延をここでは明示)
[192.168.11.151]: PS C:\> Invoke-GPUpdate -RandomDelayInMinutes 10 

[192.168.11.151]: PS C:\> exit 
PS C:\> exit 


[192.168.11.151]: PS C:\> # 特定の PC に GPO の即時配布するにはこれを実行する [192.168.11.151]: PS C:\> # (更新指示なので、強制送付ではない) [192.168.11.151]: PS C:\> Invoke-GPUpdate -RandomDelayInMinutes 0 -Computer "pc1","pc2"
6-4. GPO の更新状況の確認と適用をする。
GPO の更新があった場合、AD のメンバ PC は以下のタイミングでこれを自動的に検知する。
このタイミングを待てない場合は以下を実施する。

 v11 
− □ × 
 >_ Windows PowerShell ×   + |
 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows  

PS C:\> # GPO の適用状態を確認する
PS C:\> gpresult /R | Select-String "適用されたグループ ポリシー オブジェクト" -Context 0,6 
> 適用されたグループ ポリシー オブジェクト
  -----------------------------------------
      N/A     ← 該当なし

  次の GPO はフィルターで除外されたため適用されませんでした。
  ------------------------------------------------------------
      ローカル グループ ポリシー

PS C:\> # GPO を手動で適用する (再起動の必要が発生する可能性が高い)
PS C:\> # /force を指定すると差分ではなく全適用が可能だが、トラフィックが増加する
PS C:\> gpupdate 

PS C:\> exit