Windows 2025
Sponsored Link

Hyper-V : 統合サービス (Windows)2024/12/13

 

Hyper-V ホストと Windows ゲストシステムとの統合性を向上させる [統合サービス] の設定です。

[1] Hyper-V ホスト側の設定で、既定では [ゲスト サービス インターフェイス] 以外は有効になっているため、仮想マシンの状態確認やシャットダウン、スナップショット取得等の操作ができるようになっています。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# Hyper-V ホスト側の統合サービスの設定
PS C:\Users\Administrator> Get-VMIntegrationService -VMName "Win2k25" 

VMName  Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
------  ----                    ------- ------------------------ --------------------------
Win2k25 Guest Service Interface False   OK
Win2k25 Heartbeat               True    OK
Win2k25 Key-Value Pair Exchange True    OK
Win2k25 Shutdown                True    OK
Win2k25 Time Synchronization    True    OK
Win2k25 VSS                     True    OK


# Hyper-V ゲスト側では 既定で以下のサービスが起動
PS C:\Users\Administrator> Get-Service -DisplayName "Hyper-V*" 

Status   Name               DisplayName
------   ----               -----------
Stopped  vmicguestinterface Hyper-V Guest Service Interface
Running  vmicheartbeat      Hyper-V Heartbeat Service
Running  vmickvpexchange    Hyper-V Data Exchange Service
Running  vmicrdv            Hyper-V Remote Desktop Virtualizati...
Running  vmicshutdown       Hyper-V Guest Shutdown Service
Running  vmictimesync       Hyper-V Time Synchronization Service
Stopped  vmicvmsession      Hyper-V PowerShell Direct Service
Running  vmicvss            Hyper-V Volume Shadow Copy Requestor
[2] Hyper-V ホスト側で統合サービスの設定を変更する場合は、以下のように実行します。
例として、既定で無効になっている [ゲスト サービス インターフェイス] を有効にします。
PS C:\Users\Administrator> Enable-VMIntegrationService -VMName "Win2k25" -Name "Guest Service Interface" 
PS C:\Users\Administrator> Get-VMIntegrationService -VMName "Win2k25" 

VMName  Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
------  ----                    ------- ------------------------ --------------------------
Win2k25 Guest Service Interface True    OK
Win2k25 Heartbeat               True    OK
Win2k25 Key-Value Pair Exchange True    OK
Win2k25 Shutdown                True    OK
Win2k25 Time Synchronization    True    OK
Win2k25 VSS                     True    OK

# * 設定を無効にする場合は以下
PS C:\Users\Administrator> Disable-VMIntegrationService -VMName "Win2k25" -Name "Guest Service Interface" 


# Hyper-V ゲスト側では自動的に [Hyper-V Guest Service Interface] が開始
PS C:\Users\Administrator> Get-VMNetworkAdapter -VMName "Win2k25" | Select IPAddresses 

IPAddresses
-----------
{10.0.0.100, fe80::8b7d:cd2f:4e22:3524}

PS C:\Users\Administrator> ssh administrator@10.0.0.100 powershell -c 'Get-Service -DisplayName "Hyper-V*"' 
administrator@10.0.0.100's password:

Status   Name               DisplayName
------   ----               -----------
Running  vmicguestinterface Hyper-V Guest Service Interface
Running  vmicheartbeat      Hyper-V Heartbeat Service
Running  vmickvpexchange    Hyper-V Data Exchange Service
Running  vmicrdv            Hyper-V Remote Desktop Virtualizati...
Running  vmicshutdown       Hyper-V Guest Shutdown Service
Running  vmictimesync       Hyper-V Time Synchronization Service
Stopped  vmicvmsession      Hyper-V PowerShell Direct Service
Running  vmicvss            Hyper-V Volume Shadow Copy Requestor
[3] [ゲスト サービス インターフェイス] を有効にした場合、ホストからゲストシステムへファイルのコピーができます。
PS C:\Users\Administrator> Add-Content testfile.txt "file copy test" 
PS C:\Users\Administrator> Copy-VMFile "Win2k25" -SourcePath "C:\Users\Administrator\testfile.txt" -DestinationPath "C:\Users\Administrator" -FileSource Host 

PS C:\Users\Administrator> Get-VMNetworkAdapter -VMName "Win2k25" | Select IPAddresses 

IPAddresses
-----------
{10.0.0.100, fe80::8b7d:cd2f:4e22:3524}

PS C:\Users\Administrator> ssh administrator@10.0.0.100 powershell -c 'Get-Content testfile.txt' 
administrator@10.0.0.100's password:
file copy test
[4] ゲストシステム側で既定では無効となっている [Hyper-V PowerShell Direct Service] を開始すると、ホスト側から仮想マシンに対して Powershell セッションで接続できます。
PS C:\Users\Administrator> Get-VMNetworkAdapter -VMName "Win2k25" | Select IPAddresses 

IPAddresses
-----------
{10.0.0.100, fe80::8b7d:cd2f:4e22:3524}

# ゲストシステムの [Hyper-V PowerShell Direct Service] を開始
PS C:\Users\Administrator> ssh administrator@10.0.0.100 powershell -c 'Start-Service -Name "vmicvmsession"' 

# ユーザー [Administrator], パスワード [P@ssw0rd01] で認証して [Win2k25] に接続
PS C:\Users\Administrator> Enter-PSSession -VMName "Win2k25" -Credential (New-Object PSCredential("Administrator", (ConvertTo-SecureString -AsPlainText "P@ssw0rd01" -Force))) 
[Win2k25]: PS C:\Users\Administrator\Documents>
[Win2k25]: PS C:\Users\Administrator\Documents> hostname
fd3s
関連コンテンツ