Powershell

如何使用 PowerShell 自動創建 Hyper-V VM 並安裝應用程序

  • February 25, 2014

我正在為 WPF 應用程序設計一個測試基礎結構。我想要一個在文件夾中出現新 MSI 時創建 VM 的系統,並將 MSI 安裝在新創建的 VM 上。我正在使用 Hyper-V 和 PowerShell。文件夾監視和啟動是我能做的所有事情,但這是我卡住的 Hyper-V 方面。我有一個我想用作基礎的虛擬機,但我不知道從哪裡開始。

導出 VM,然後讓 PS 腳本導入/複製 VM 會更好嗎?直接“複製”虛擬機更好嗎?檢查站應該發揮作用嗎?有更好的方法嗎?

如果有人有一個資源連結到談論使用 PS 進行自動化 VM/App 配置的資源,那就太棒了。我是一名開發人員,所以我不知道去哪裡做這樣的事情。

謝謝,埃里克

我有一個我想用作基礎的虛擬機,但我不知道從哪裡開始。

“正確答案”是在 SCCVM 中使用虛擬機模板,儘管從你的問題的語氣來看,我猜你沒有 SCCVM。

儘管這將花費更多時間,但您可以做的是建構一個主映像 VM,對其進行sysprep,然後將生成的 VHD 用於您的後續虛擬機。

假設您已經備份了您的主映像(在 sysprep 之前和之後),您可以執行以下簡單操作:

Copy-Item C:\Hyper-V\MasterImage\MasterImage_CDrive.vhdx C:\Hyper-V\$SpawnVM\$SpawnVM.vhdx
New-VM $SpawnVM -Path "C:\Hyper-V"
Add-VMDisk -VM $SpawnVM -ControllerId 0 -Lun 0 -Path "C:\Hyper-V\$SpawnVM\$SpawnVM.vhdx"

該 PowerShell 片段應該從您的主映像複製 VHD,創建一個新 VM,然後附加它。您可能還想做更多事情,所以我將向您介紹Windows PowerShell中的 Hyper-V Cmdlet,它在 Windows 8.1/Windows Server 2012 R2 中功能齊全。如果您稍後有具體問題,請隨時提出。

檢查站應該發揮作用嗎?

也許。您可以通過從檢查點導出 VM 從現有檢查點創建新的虛擬機(我相信這會合併差異磁碟和父磁碟,因此您不會節省任何時間)。檢查點實際上應該只保留用於臨時時間點恢復

當您需要在更改(例如係統或應用程序更新)後將虛擬機恢復到以前的狀態時,檢查點旨在提供臨時備份。但是,您不應將檢查點用於作業系統、應用程序或文件的永久備份。

我是一名開發人員,所以我不知道去哪裡做這樣的事情。

請不要採取錯誤的方式,但如果您在此過程中做任何嚴肅的事情,請考慮與您的系統管理團隊交談或僱用內部人員或具有相關經驗的承包商。可以就這些主題中的每一個寫一本小書。通過一些 PowerShell 來自動化一些開發或測試 VM 可能對您來說很好,但這聽起來不像是開始著手進行嚴肅的生產工作的好方法。只是一個友好的警告……確保你的 DevOps 不是全部的 Dev 和沒有 Ops。

希望這能讓你開始。如果您在生產環境中以任何規律性和音量執行此操作,您應該認真看看System Center 2012 R2 Virtual Machine ManagerSystem Center 2012 R2 Orchestrator 。

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