您已經逐步進行部署 Hyper-V、建立虛擬機器、管理這些虛擬機器的基本作業,現在,讓我們來探索如何使用 PowerShell 將這許多活動自動化。

傳回 Hyper-V 命令清單

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

    結果類似這樣:

  • 如需深入了解特定的 PowerShell 命令,請使用 Get-Help。 例如執行下列命令會傳回 Get-VM Hyper-V 命令的資訊。
  • Get-Help Get-VM
    

    輸出會顯示如何建構命令、有哪些必要和選擇性參數、以及您可以使用的別名。

    傳回虛擬機器清單

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

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

    結果類似這樣:

  • 若只要傳回已開機的虛擬機器清單,請在 Get-VM 命令中加入篩選條件。 您可以使用 Where-Object 命令新增篩選。 如需篩選的詳細資訊,請參閱 Using the Where-Object Cmdlet (使用 Where-Object Cmdlet) 文件。
  • Get-VM | where {$_.State -eq 'Running'}
    
  • 若要列出所有電源關閉狀態的虛擬機器清單,執行下列命令。 此命令與步驟 2 中的命令相同,只是將篩選從 'Running' 變更為 'Off'。
  • Get-VM | where {$_.State -eq 'Off'}
    

    啟動和關閉虛擬機器

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

    建立 VM 檢查點

    若要使用 PowerShell 建立檢查點,請使用 Get-VM 命令選取虛擬機器,然後使用管道將結果傳送給 Checkpoint-VM 命令。 最後使用 -SnapshotName 為檢查點命名。 完整的命令看起來像這樣:

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

    建立新的虛擬機器

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

  • 若要開啟 PowerShell ISE,請按一下 [開始],輸入 PowerShell ISE
  • 執行下列程式碼建立虛擬機器。 如需 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