Virtualization

無網路到本地 Hyper-V VM 的非 GUI 連接

  • June 5, 2014

我在 Hyper-V 管理器 (Windows 2008 R2) 上有一個虛擬機,但沒有在 VM 上配置網路。從在主機 Windows 伺服器上執行的 powershell 腳本,我想查詢該本地 VM 的作業系統以獲取某些資訊(即,如果給定程序已完成)。

我正在使用 codeplex 的 pshyperv 模組 ( https://pshyperv.codeplex.com/ ) 與 Hyper-V 管理器進行互動,但連接到 vm 的唯一 cmdlet 是“New-VMConnectSession”,它會啟動一個“vmconnect.exe”連接到虛擬機。由於 vmconnect.exe 本質上是 RDP,因此對腳本不是很友好。

如果虛擬機上沒有配置網路,有沒有辦法從主機的 powershell 腳本中向本地虛擬機的作業系統發送命令並接收輸出?(我相信 Vmware 的 ‘vmrun’ 實用程序具有此功能)

提出這個問題的另一種方式:Hyper-V 是否有基於非 GUI 形式的 vmconnect.exe?

(PS。不確定這是更多的stackoverflow還是serverfault)

vmconnect允許客戶端連接到管理程序。它確實使用 RDP 協議,通常將管理程序用作“伺服器”。VM 完全不知道這種互動,它只是看到一個 VGA 或類似的設備。在 Hyper-V 和 VM 作業系統都支持某些 RDP over VMbus 擴展的較新作業系統上,客戶端知道連接。但即使在這種情況下,它也不是通過“網路”連接處理的,而是通過管理程序處理的。

沒有內置的方式可以按照您想要的方式進行交流。您可以編寫自定義 VMbus 驅動程序,通過 Hyper-V 的虛擬匯流排從主機到 VM 進行通信;或使用映射到串列埠的管道;但這兩者都需要一些努力

引用自:https://serverfault.com/questions/601888