はじめに
Hyper-V Server 2012 を使っているのですが 1、クライアント PC が新しくなるたびにいつも設定に悪戦苦闘するので備忘録。
Hyper-V Server
Hyper-V Server とは
Hyper-V Server とは Hyper-V 機能のみを利用できるように機能を省いた Windows Server です。無償で利用可能で、最新版は Hyper-V Server 2019 です。
Hyper-V Server は既に稼働している前提です。
| 項目 | 説明 |
|---|---|
| サーバー名 | HV-SERVER |
| IP アドレス | 192.168.1.100 |
クライアント PC の設定
クライアント PC で Hyper-V マネージャ を使って Hyper-V Server を管理します。Windows 10 / 11 だと Pro 以上の SKU が必要です。
Hyper-V の有効化
[Windows の機能の有効化または無効化] から Hyper-V を有効化します。
[Windows の機能の有効化または無効化] は [ファイル名を指定して実行] (〔Win〕+〔R〕) から optionalfeatures で開けます。

Hyper-V にチェックを入れて [OK] を押します。

Hyper-V が導入されると再起動を促されます。

再起動したら、管理者権限で PowerShell を開いておいてください。このメニューはスタートメニューを右クリックすると出てきます。


See also:
WinRM の設定
Hyper-V Server の操作には Windows Remote Management (WinRM) が使われるため、WinRM の設定を行う必要があります。
[サービス] の設定を開きます。[ファイル名を指定して実行] (〔Win〕+〔R〕) から services.msc です。

Windows Remote Management (WS-Management) サービス が起動している事を確認してください。

起動していなければ起動してください。PowerShell で net start winrm です。
PS C:\Windows\system32>net start winrm
Windows Remote Management (WS-Management) サービスを開始します.
Windows Remote Management (WS-Management) サービスは正常に開始されました。
次に PowerShell で winrm quickconfig を実行します。「変更しますか」のプロンプトでは Y を入力します。
PS C:\Windows\system32> winrm quickconfig
WinRM サービスは、既にこのコンピューターで実行されています。
WinRM は、管理用にこのコンピューターへのリモート アクセスを許可するように設定されていません。
次の変更を行う必要があります:
WinRM ファイアウォールの例外を有効にします。
ローカル ユーザーにリモートで管理権限を付与するよう LocalAccountTokenFilterPolicy を構成してください。
変更しますか [y/n]? y
WinRM はリモート管理用に更新されました。
WinRM ファイアウォールの例外を有効にしました。
ローカル ユーザーにリモートで管理権限を付与するよう LocalAccountTokenFilterPolicy を構成しました。
もしここで次のようなエラーが出た場合には、ネットワーク接続プロファイルの設定を [プライベート] に変更してください。
このコンピューターのネットワーク接続の種類の 1 つが Public に設定されているため、WinRM ファイアウォール例外は機能しません。
-ネットワーク接続の種類を Domain または Private に変更して、やり直してください。
次に TrustedHosts に Hyper-V サーバーを追加します。Set-Item WSMan:\localhost\Client\TrustedHosts -Value "HV-SERVER,192.168.1.100" のようにホスト名と IP アドレスの両方をカンマ区切りで登録しておきます 2。
PS C:\Windows\system32> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "HV-SERVER,192.168.1.100"
WinRM セキュリティの構成。
このコマンドは WinRM クライアントの TrustedHosts の一覧を変更します。TrustedHosts
の一覧内にあるコンピューターは認証されない可能性があります。クライアントはこれらのコンピューターに資格情報を送信する可
能性があります。この一覧を変更しますか?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
TrustedHosts の確認は Get-Item WSMan:\localhost\Client\TrustedHosts で行えます。
PS C:\Windows\system32> Get-Item WSMan:\localhost\Client\TrustedHosts
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String TrustedHosts HV-SERVER,192.168.1.100
See also:
Hyper-V マネージャーの起動 (その 1)
Hyper-V マネージャー は [スタートメニュー] の Windows 管理ツール の中にあります。スタートメニューにピン留めしておくとよいでしょう。

とりあえず起動してみます。

右上の [サーバーに接続...] をクリックします。

[コンピュータの選択] ダイアログで HV-SERVER を指定します。

HV-SERVER は登録されましたが、アクセスが拒否されました。 と出てしまいます。

コンポーネントサービス
[コンポーネントサービス] 設定を開きます。[ファイル名を指定して実行] (〔Win〕+〔R〕) から dcomcnfg

または comexp.msc です。

このような画面になると思うので、

左ペインで [コンソールルート | コンポーネントサービス | コンピュータ] と開き、マイ コンピュータ を右クリックしてプロパティを開きます。

[COM セキュリティ] タブで [制限の編集] を押します。

ANONYMOUS LOGON グループを選択し、[リモートアクセス] の 許可 にチェックを入れます。

Hyper-V マネージャーの起動 (その 2)
設定できるネットワークプロファイルはすべてプライベートなのに「パブリックの接続プロファイルがある」と言われてしまう場合
[ローカルセキュリティポリシー] 設定を開きます。[ファイル名を指定して実行] (〔Win〕+〔R〕) から secpol.msc です。

左ペインで ネットワークリストマネージャーポリシー をクリックし、識別されていないネットワーク をダブルクリックします。

[場所の種類] を プライベート に、[ユーザーのアクセス許可] を ユーザーは場所を変更できる に変更します。

これでエラーは出なくなると思います。
おわりに
ネットワーク越しの操作だからとは言え、設定が面倒すぎる気がします。
See also:
