#windows クライアントをコードで全自動展開 / 企業でよくある#Windows , #M365 環境を構築してみるシリーズ Part9
Windowsクライアントをコードで全自動展開する — Windows/M365環境構築シリーズ Part9 この記事の内容 Hyper-V上でWindows 10およびWindows 11のゴールデンイメージを作成する手順を解説します Sysprepと応答ファイル(Unattend.xml)を組み合わせ、クライアントOSを全自動で構成する方法を紹介します WinRMをオフライン環境でセットアップするためのHyper-Vゲストサービス活用法を説明します サーバー版の応答ファイルとクライアント版の違いについてポイントを整理します AnsibleプレイブックからCopy-VMFileコマンドレットを利用してVMを自動展開するフローを示します はじめに 前回までのシリーズでは、Windows Serverのひな型(ゴールデンイメージ)をSysprepで作成し、コード1本で自動展開できる環境を構築してきました。しかし実際の検証環境ではクライアントOSも必要になります。そこで今回はWindows 10とWindows 11のひな型も作成し、サーバーと同じようにコードから自動展開できる仕組みを整えていきます。 Hyper-V仮想マシンの作成 まずHyper-V上に仮想マシンを2台作成します。 項目 Windows 10 Windows 11 世代 第2世代 第3世代 メモリ 8GB 8GB ネットワーク 接続しない 接続しない ポイント:ネットワークには接続しないこと ひな型作成時にネットワークへ接続すると、Windows Updateが走るなど想定外の動作が起きやすくなります。ネットワークを切断した状態でセットアップを進めるほうが格段に楽です。 Windows 11特有の設定 Windows 11ではセキュリティ要件が厳しいため、仮想マシンのセキュリティ設定でTPM(トラステッドプラットフォームモジュール)を必ず有効化してください。有効にしないとISOからのインストール自体が弾かれてしまいます。 初回セットアップとAdministratorアカウントの準備 仮想マシンが起動したら、初期セットアップウィザードをローカルアカウントで進めます。ネットワーク未接続の状態であれば、Microsoftアカウントを求められることなくローカルユーザーでのセットアップが可能です。 セットアップ完了後は以下の手順でAdministratorアカウントを有効化します。 セットアップ時に作成したローカルユーザーで一度ログオン 「コンピューターの管理」からセットアップ用ユーザーを削除 ビルトインAdministratorアカウントを有効化 Administratorでログオンし直す このシリーズでは、Ansibleから管理する際にビルトインAdministratorで統一することでシンプルな管理を実現しています。なお、通常Sysprep実行後にAdministratorは無効化されますが、応答ファイル内に無効化を防ぐ記述を入れることで有効状態を維持します。 WinRMのセットアップ(オフライン環境での対処) AnsibleからWindows VMをリモート管理するにはWinRMの構成が必要です。通常はインターネットからスクリプトをダウンロードして実行しますが、今回はネットワーク未接続のため別の方法を使います。 Hyper-Vゲストサービスを使ったファイル転送 Hyper-Vの「統合サービス」にあるゲストサービスを有効化すると、Copy-VMFileコマンドレットでホストからゲストへファイルをコピーできます。ネットワーク接続が不要なため、オフライン環境で非常に役立ちます。 まずゲストVM上で一時ディレクトリを作成しておきます。 New-Item -ItemType Directory -Path C:\temp 次にホスト側のHyper-V管理端末からスクリプトをゲストにコピーします。 Copy-VMFile "Windows10" ` -SourcePath "C:\temp\ConfigureRemotingForAnsible.ps1" ` -DestinationPath "C:\temp\ConfigureRemotingForAnsible.ps1" ` -CreateFullPath ` -FileSource Host WinRM構成スクリプトの実行 ゲストVM内でPowerShellを管理者として起動し、スクリプト実行ポリシーを変更してからスクリプトを実行します。 ...