使用 PowerShell Direct 管理 Windows 虛擬機器
您可以使用 PowerShell Direct,從 Windows 10、Windows Server 2016 或 Windows Server 2019 Hyper-V 主機遠端管理 Windows 10、Windows Server 2016 或 Windows Server 2019 虛擬機器。 使用 PowerShell Direct 可在虛擬機器內運用 Windows PowerShell 管理,無論在 Hyper-V 主機上或虛擬機器上的網路設定或遠端管理設定為何。 這讓 Hyper-V 系統管理員更容易用指令碼自動化虛擬機器的管理和設定。
有兩種方式可以執行 PowerShell Direct:
使用 PSSession Cmdlet 建立和結束 PowerShell Direct 工作階段
使用 Invoke-Command Cmdlet 執行指令碼或命令
如果您管理的是較舊的虛擬機器,請使用虛擬機器連線 (VMConnect),或是設定虛擬機器的虛擬網路。
使用 PSSession Cmdlet 建立和結束 PowerShell Direct 工作階段
在 Hyper-V 主機上,以系統管理員身分開啟 Windows PowerShell。
使用 Enter-PSSession Cmdlet 連線至虛擬機器。 使用虛擬機器名稱或 GUID,執行下列命令之一來建立工作階段:
Enter-PSSession -VMName <VMName>
Enter-PSSession -VMId <VM GUID>
輸入您的虛擬機器認證。
執行您需要執行的命令。 這些命令會在您用來建立工作階段的虛擬機器上執行。
完成後,請使用 exit-PSSession 關閉工作階段。
Exit-PSSession
使用 Invoke-Command Cmdlet 執行指令碼或命令
您可以使用 Invoke-Command Cmdlet,在虛擬機器上執行一組預先決定的命令。 以下是如何使用 Invoke-Command Cmdlet 的範例,其中 PSTest 是虛擬機器名稱,要執行的指令碼 (foo.ps1) 位在 C:/ 磁碟機的指令碼資料夾:
Invoke-Command -VMName PSTest -FilePath C:\script\foo.ps1
若要執行單一命令,請使用 -ScriptBlock 參數:
Invoke-Command -VMName PSTest -ScriptBlock { cmdlet }
使用 PowerShell Direct 的必要條件為何?
若要在虛擬機器上建立 PowerShell Direct 工作階段,
虛擬機器必須在本機主機上執行和啟動。
您必須以 Hyper-V 系統管理員身分登入主機電腦。
您必須提供虛擬機器的有效使用者認證。
主機作業系統必須至少執行 Windows 10 或 Windows Server 2016。
虛擬機器必須至少執行 Windows 10 或 Windows Server 2016。
您可以使用 Get-VM Cmdlet 確認所使用認證是否具備 Hyper-V 系統管理員角色,並取得在本機主機上執行及啟動的虛擬機器清單。