# Hyper-V Server に Hyper-V マネージャーで接続する --- tags: Microsoft Hyper-V created_at: 2021-07-16 updated_at: 2021-10-13 --- # はじめに **Hyper-V Server 2012** を使っているのですが [^1]、クライアント PC が新しくなるたびにいつも設定に悪戦苦闘するので備忘録。 # Hyper-V Server ## Hyper-V Server とは **Hyper-V Server** とは Hyper-V 機能のみを利用できるように機能を省いた Windows Server です。無償で利用可能で、最新版は Hyper-V Server 2019 です。 - [Windows Server 評価版ソフトウェア (Microsoft)](https://www.microsoft.com/ja-jp/evalcenter/evaluate-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` で開けます。 ![image.png](./images/86d0ceda-784f-037e-8d51-26949433bb9a.png) `Hyper-V` にチェックを入れて [OK] を押します。 ![image.png](./images/b3946d17-6038-29e3-7376-e7069ec12b51.png) Hyper-V が導入されると再起動を促されます。 ![image.png](./images/7b5e7280-ff64-9c7c-5720-c61e39e9acad.png) 再起動したら、管理者権限で **PowerShell** を開いておいてください。このメニューはスタートメニューを右クリックすると出てきます。 ![image.png](./images/6364590a-3f04-7ec6-d117-bdd23e7d5e8e.png) ![image.png](./images/d342821c-c6c1-e6de-2513-898a96fca70e.png) **See also:** - [Hyper-V (Wikipedia)](https://ja.wikipedia.org/wiki/Hyper-V) ### WinRM の設定 Hyper-V Server の操作には **Windows Remote Management (WinRM)** が使われるため、WinRM の設定を行う必要があります。 `[サービス]` の設定を開きます。`[ファイル名を指定して実行]` (〔Win〕+〔R〕) から `services.msc` です。 ![image.png](./images/3a6e632a-c259-1e4b-defa-5a6fc4eb82a2.png) `Windows Remote Management (WS-Management) サービス` が起動している事を確認してください。 ![image.png](./images/3907e7bf-78d5-14ab-1f8c-17061c118314.png) 起動していなければ起動してください。PowerShell で `net start winrm` です。 ```powershell PS C:\Windows\system32>net start winrm Windows Remote Management (WS-Management) サービスを開始します. Windows Remote Management (WS-Management) サービスは正常に開始されました。 ``` 次に PowerShell で `winrm quickconfig` を実行します。「変更しますか」のプロンプトでは `Y` を入力します。 ```powershell 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]。 ```powershell 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` で行えます。 ```powershell 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:** - [Windows Remote Management (Wikipedia: en)](https://en.wikipedia.org/wiki/Windows_Remote_Management) ### Hyper-V マネージャーの起動 (その 1) **Hyper-V マネージャー** は [スタートメニュー] の `Windows 管理ツール` の中にあります。スタートメニューにピン留めしておくとよいでしょう。 ![image.png](./images/009b315b-b646-50ac-3b13-d467405f3b50.png) とりあえず起動してみます。 ![image.png](./images/229c9e97-c327-1158-dc08-4d38ae5eb6ca.png) 右上の [サーバーに接続...] をクリックします。 ![image.png](./images/e73ecbe8-63a9-216b-e8d4-657c6a1fb7e0.png) [コンピュータの選択] ダイアログで `HV-SERVER` を指定します。 ![image.png](./images/25f80ba3-4d4d-a3ef-32ce-03e446c96ec6.png) HV-SERVER は登録されましたが、`アクセスが拒否されました。` と出てしまいます。 ![image.png](./images/ecbc9357-d83f-13e7-e6f8-29b91016c2eb.png) ### コンポーネントサービス **[コンポーネントサービス]** 設定を開きます。`[ファイル名を指定して実行]` (〔Win〕+〔R〕) から `dcomcnfg` ![image.png](./images/1cb80545-1b5d-9b64-6285-eff35770e763.png) または `comexp.msc` です。 ![image.png](./images/4d660813-7492-da55-aa35-775bac6fd473.png) このような画面になると思うので、 ![image.png](./images/70164c48-88e3-d80e-d9e8-ca8b951a3935.png) 左ペインで [コンソールルート | コンポーネントサービス | コンピュータ] と開き、`マイ コンピュータ` を右クリックしてプロパティを開きます。 ![image.png](./images/94606cd5-0932-d8b6-4abc-14cd29d08e18.png) [COM セキュリティ] タブで `[制限の編集]` を押します。 ![image.png](./images/52c2b37a-6320-f8e9-f575-f1b1a005d636.png) `ANONYMOUS LOGON` グループを選択し、[リモートアクセス] の `許可` にチェックを入れます。 ![image.png](./images/6d229e4b-bbc2-006f-b4ed-72daea02b7f9.png) ### Hyper-V マネージャーの起動 (その 2) 今度はうまくいったようです。 ![image.png](./images/793fdb7d-3437-de0e-a0ab-87672cc7ead7.png) ### 設定できるネットワークプロファイルはすべてプライベートなのに「パブリックの接続プロファイルがある」と言われてしまう場合 **[ローカルセキュリティポリシー]** 設定を開きます。`[ファイル名を指定して実行]` (〔Win〕+〔R〕) から `secpol.msc` です。 ![image.png](./images/ef867016-04db-2957-2a80-25e59a0972b3.png) 左ペインで `ネットワークリストマネージャーポリシー` をクリックし、`識別されていないネットワーク` をダブルクリックします。 ![image.png](./images/9061b10c-aa46-387b-0228-18b9d793d678.png) [場所の種類] を `プライベート` に、[ユーザーのアクセス許可] を `ユーザーは場所を変更できる` に変更します。 ![image.png](./images/c6bf8518-f861-bafd-77ad-a56008e46472.png) これでエラーは出なくなると思います。 # おわりに ネットワーク越しの操作だからとは言え、設定が面倒すぎる気がします。 **See also:** - [Hyper-Vを一時的に無効にする方法 (Qiita: @slangsoft)](https://qiita.com/slangsoft/items/7379d00833c17ac6c3cd) [^1]: ポンコツ PC で運用してるから Hyper-V Server 2012 のままです...察してください。 [^2]: `winrm set winrm/config/client '@{TrustedHosts="HV-SERVER,192.168.1.100"}'` でも設定できます。