WindowsにはAdministrator権限のほかに、Hyper-Vだけの管理ができる"Hyper-V Administrators"というローカルグループがあるようで、試してみました。
想定されるシーン
WindowsやWindows Serverなどで、Hyper-Vの管理権限が必要だが、他のAdmin権限は不要なとき。
たとえば新人研修などのときに、万一マシン全体に影響が及ぼさないようにしたいなど。
コマンド
標準ユーザー権限のUsersを付与しないと「ユーザーの切り替え」画面に出てきませんでした。
.ps1
New-LocalUser -Name "Hyper-V管理者" -NoPassword
net localgroup "Users" "Hyper-V管理者" /add
net localgroup "Hyper-V Administrators" "Hyper-V管理者" /add
GUIでの確認
ユーザーの切り替え
Ctrl + Alt + Delでユーザーの切り替えをします。
拡張セッションが有効だとユーザー権限に"Remote Desktop Users"が必要なようです。RDPプロトコルを使うためと思われます。
拡張セッションを切ることでログインできました。
動作確認
PowerShellなど管理者権限が必要なものは起動できません。
Hyper-Vは問題なく管理できます。
まとめ
- Hyper-V管理者権限に加え、D:\Hyper-Vといった特定のフォルダだけにアクセス権限を付与することによって、より安全な仮想サーバー運用ができるでしょう。
メモ
- 今回はWin11 on Win11のNested Hyper-Vです。コマンドは以下となります。
.ps1
#(ホストVMで)ネスト仮想化の有効化
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
#(ゲストVMで)Hyper-Vの有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
- 拡張セッションは便利なので、Remote Desktop Usersをコマンドに入れていいかもしれません。
- Ryzenのおかげでここ数年でコア数・速度ともに高速化しており、入れ子の仮想化でも遅延が少ないのは開発がしやすくありがたいです。
- MSがクライアントHyper-Vの開発を地味に続けてくれているのもうれしい(AMD CPU対応など)。