共用方式為


與 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
    

    輸出顯示如何建構命令、必要和選用參數是什麼,以及您可以使用的別名。

    管理員 Windows PowerShell 的屏幕截圖,顯示命令結構的輸出。

傳回虛擬機器清單

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

  1. 在 PowerShell 中,執行下列命令:

    Get-VM
    

    這會顯示如下內容:

    管理員 Windows Power Shell 屏幕的屏幕截圖顯示了輸入 Get VM 後的輸出。

  2. 若要傳回僅開啟電源的虛擬機器清單,請將篩選器 Get-VM 新增至命令。 可以使用命令 Where-Object 新增過濾器。 如需篩選的詳細資訊,請參閱 使用 Where-Object 檔。

    Get-VM | where {$_.State -eq 'Running'}
    
  3. 若要列出所有處於關閉電源狀態的虛擬機器,請執行下列命令。 此命令是步驟 2 中命令的副本,過濾器從「執行中」變更為「關閉」。

    Get-VM | where {$_.State -eq 'Off'}
    

啟動和關閉虛擬機器

  1. 若要啟動特定虛擬機器,請使用虛擬機器的名稱執行下列命令:

    Start-VM -Name <virtual machine name>
    
  2. 若要啟動所有目前已關閉電源的虛擬機器,請取得這些機器的清單,並將清單透過管道傳送至命令 Start-VM

    Get-VM | where {$_.State -eq 'Off'} | Start-VM
    
  3. 若要關閉所有執行中的虛擬機器,請執行下列命令:

Get-VM | where {$_.State -eq 'Running'} | Stop-VM

建立虛擬機器檢查點

若要使用 PowerShell 建立檢查點,請使用命令選取 Get-VM 虛擬機器,並將此管道傳送至 Checkpoint-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 文件。

     $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 參考。