|
| ||||||||
0. 前置き
本稿は、Hyper-V に 2 つの Windows を仮想マシンとして用意し、Active Directory を構築します。
今回の作業は、可能な限り GUI と追加ソフトを回避しています。
構築環境
種別 名前 内容 IP アドレス 備考 ホスト機 hv-host Windows Server 2025 Standard Edition 192.168.11.150 Hyper-V を提供する物理装置 仮想マシン 1 v2025 192.168.11.151 ドメインコントローラ 仮想マシン 2 v11 Windows 11 Pro 192.168.11.152 ドメインメンバ
v2025 に対する操作を実施するGW / DNS - - 192.168.11.1 インターネットに接続しないなら不要
Active Directory ドメイン: example.local
インストールメディア
*1クリーンな動作確認を実現するため、使用期限のある評価版を使用しています。ライセンス登録すれば、そのまま無期限で使用可能になります。
Windows 設置パス (hv-host 内) 評価期限*1 備考 Windows Server 2025 Standard Edition C:\ISO\WindowsServer2025.iso 180 日間 ダウンロードサイトはこちら
https://www.microsoft.com/ja-jp/evalcenter/Windows 11 Pro C:\ISO\Windows11.iso 90 日間
1. Hyper-V ホストの用意
1-1. 物理サーバに Windows Server 2025 Standard をインストールする。
実務での仮想マシン (VM: Virtual Machine) は、用意したディスクイメージ (VHDX) を配置することにより構築するが、1-2. Hyper-V の実行可否を確認する。
マスターイメージは GUI で作成するのが現実的なため、Hyper-V ホストも GUI で用意する。
ターミナル (管理者) のショートカットキー: >1-3. Hyper-V の管理ツールを組み込む。
hv-host 管理者
*2False の場合は BIOS (UEFI) の設定を確認し、Intel VT-x や VT-d, SVM Mode や AMD-V を Enabled にすること。
− □ × >_ 管理者: 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 ⏎
KVM なら CPU の設定を見直すこと。(XML に cpu mode='host-model' "親 CPU からの引継ぎ" があること)
hv-host 管理者
*3*4vEthernet (ifIndex: 9) がイーサネット (3) E4-54-E8-9E-6C-37 を元にして提供されていることがわかる。
− □ × >_ 管理者: 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 ⏎
*5この名前を使用して仮想マシンから接続する。
2. 仮想マシン v2025 の用意
2-1. 仮想マシンとして Windows Server 2025 Standard をインストールする。
hv-host 管理者2-2. GUI で Windows Server をインストールする。
GUI 画面が起動するので、普通に Windows Server 2025 Standard のインストールを進める。2-3. ディスクイメージを保存する。(必要なら)
(特記事項がないので手順は省略)
Windows Server 2025 Standard のディスクイメージをマスターとして他で使用するなら、ここで以下の操作を実施する。2-4. v2025 で WinRM を許可する。
注意 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" をコピーして保存する。
メンバがサーバへ確実に接続できるよう、サーバを固定 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 とほぼ同じ。3-2. GUI で Windows 11 をインストールする。
違うのは仮想マシン名とディスクイメージ名。
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 ⏎
GUI 画面が起動するので、普通に Windows 11 Pro のインストールを進める。3-3. 仮想スイッチに接続する
(特記事項がないので手順は省略)
この画面は Windows Server の使いまわし。
hv-host 管理者3-4. ディスクイメージをコピーする。(必要なら)
− □ × >_ 管理者: 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 ⏎
Windows 11 Pro のディスクイメージをマスターとして他で使用するなら、ここで以下の操作を実施する。3-5. WinRM を準備する。
注意 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" をコピーして保存する。
v11 管理者3-6. WinRM で v11 → v2025 の接続ができるか確認する。
− □ × >_ 管理者: 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
ターミナル (通常) のショートカットキー: >
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 をインストールする。
v114-2. v11 を Active Directory に参加させる。
− □ × >_ 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 Successv2025 が再起動する
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 ⏎
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 にユーザを追加する。
ローカルにサインインする。5-2. AD ユーザに RDP を許可する。
混同を避けるため、ユーザ名は .\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 ⏎
本稿ではメンバ PC も仮想マシンにしているため RDP を必要としているが、通常は RDP を使わずにサインインする。5-3. AD ユーザを削除する。(必要なら)
メンバ 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 ⏎
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) を使用する。6-2. v2025 の壁紙フォルダーを共有する
あらかじめ 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 ⏎
v116-3. GPO の作成と配布を実施する。
− □ × >_ 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 ⏎
GPO の配布は、取得の要請をかける。(送り付けない)6-4. 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" ⏎
GPO の更新があった場合、AD のメンバ PC は以下のタイミングでこれを自動的に検知する。
このタイミングを待てない場合は以下を実施する。
- PC の起動時
- ユーザのサインイン時
- バックグラウンド更新 (定期実行): 90~120分間隔
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 ⏎