使用 Hyper-V 和 Windows PowerShell

既然您已逐步解說部署 Hyper-V、建立虛擬機和管理這些虛擬機的基本概念,讓我們來探索如何使用 PowerShell 將其中許多活動自動化。

傳回 Hyper-V 命令的清單

  1. 按兩下 [Windows 開始] 按鈕,輸入 PowerShell
  2. 執行下列命令以顯示 Hyper-V PowerShell 模組提供的可搜尋 PowerShell 命令清單。
Get-Command -Module hyper-v | Out-GridView

您會收到類似如下的內容:

[輸出方格檢視] 的螢幕快照,其中顯示 [命令類型]、[名稱]、[版本] 和 [來源] 字段。

  1. 若要深入瞭解特定 PowerShell 命令,請使用 Get-Help。 例如,執行下列命令會傳回 Hyper-V 命令的相關信息 Get-VM
Get-Help Get-VM

輸出會示範如何建構命令、所需的參數和選擇性參數,以及您可以使用的別名。

管理員 istrator Windows Power Shell 畫面的螢幕快照,其中顯示如何建構命令的輸出。

傳回虛擬機清單

Get-VM使用命令傳回虛擬機清單。

  1. 在 PowerShell 中執行下列命令:
Get-VM

這會顯示如下的內容:

管理員 istrator Windows Power Shell 畫面的螢幕快照,其中顯示輸入 Get V M 之後的輸出。

  1. 若要傳回僅提供電源的虛擬機清單,請將篩選新增至 Get-VM 命令。 您可以使用 命令來新增 Where-Object 篩選。 如需篩選的詳細資訊,請參閱 使用 Where-Object 檔。
Get-VM | where {$_.State -eq 'Running'}
  1. 若要列出處於關閉電源狀態的所有虛擬機,請執行下列命令。 此命令是步驟 2 中的命令複本,篩選條件從 『Running』 變更為 『Off』。
Get-VM | where {$_.State -eq 'Off'}

啟動和關閉虛擬機

  1. 若要啟動特定虛擬機器,請使用虛擬機的名稱執行下列命令:
Start-VM -Name <virtual machine name>
  1. 若要啟動所有目前關閉的虛擬機,請取得這些機器的清單,並將清單傳送至 Start-VM 命令:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
  1. 若要關閉所有執行中的虛擬機,請執行下列作業:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM

建立 VM 檢查點

若要使用PowerShell建立檢查點,請使用 命令選取虛擬機 Get-VMCheckpoint-VM 並將此管線傳送至命令。 最後,使用 -SnapshotName提供檢查點的名稱。 完整的命令如下所示:

Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>

建立新的虛擬機器

下列範例示範如何在PowerShell整合式腳本環境 (ISE) 中建立新的虛擬機。 這是一個簡單的範例,可以擴充以包含其他 PowerShell 功能和更進階的 VM 部署。

  1. 若要開啟 PowerShell ISE 按兩下 [開始],請輸入 PowerShell ISE
  2. 執行下列程式代碼來建立虛擬機。 如需命令的詳細資訊New-VM,請參閱 New-VM 檔。
 $VMName = "VMNAME"

 $VM = @{
     Name = $VMName
     MemoryStartupBytes = 2147483648
     Generation = 2
     NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
     NewVHDSizeBytes = 53687091200
     BootDevice = "VHD"
     Path = "C:\Virtual Machines\$VMName"
     SwitchName = (Get-VMSwitch).Name
 }

 New-VM @VM

總結和參考

本檔已示範探索 Hyper-V PowerShell 模組的一些簡單步驟,以及一些範例案例。 如需 Hyper-V PowerShell 模組的詳細資訊,請參閱 Windows PowerShell 參考中的 Hyper-V Cmdlet。