Hyper-V Server に Hyper-V マネージャーで接続する


はじめに

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:


  1. ポンコツ PC で運用してるから Hyper-V Server 2012 のままです...察してください。 

  2. winrm set winrm/config/client '@{TrustedHosts="HV-SERVER,192.168.1.100"}' でも設定できます。