如何在 Azure 虛擬機中自動化和執行安裝後命令?
我需要部署 Azure 主機並在載入後根據預定義的腳本對其進行配置。
是否有關於如何在部署實例後修改 Azure VM 的範例、指南或教程……以程式方式(通過 powershell、c# 或任何其他方式)?
到目前為止,我已經完成了命令行部署命令,但沒有看到可以上傳或以其他方式啟動部署後安裝命令的方法。
我不完全確定你在哪里卡住了或者你想要完成什麼,但無論如何我都會試一試……
遠端桌面
只是為了好玩,讓我們從遠端訪問 VM 開始。我使用 Azure 門戶創建了一個 VM。門戶要求指定使用者名和密碼。顯然,最簡單的遠端訪問方法是在選擇 VM 實例後使用“連接”按鈕:
從那裡您可以輸入您的憑據,登錄到 VM,然後打開 PowerShell。
這是一種不好的處理方式,但它是最直接的。
PowerShell 遠端處理
啟動遠端 PowerShell 會話可能會更快一些,並且涉及的 GUI 更少。對於一個快速的單線,試試這個:
Enter-PSSession -ConnectionUri (Get-AzureWinRMUri) -SessionOption (New-PSSessionOption -SkipCACheck) -Credential (Get-Credential)
系統將提示您輸入服務名稱(在我的例子中為 rtannerf)和憑據。我選擇忽略自簽名證書而不是導入它。
您還可以使用
Invoke-Command
:Invoke-Command –ConnectionUri $uri –Credential $cred –ScriptBlock { "do u liek mah hat!?" | Out-File C:\hello.txt }
更多關於這個here。您可以對此進行擴展,並在部署完成後使用 PowerShell 來部署您的虛擬機並針對它們執行腳本。可能想看看Azure 管理 cmdlet 參考頁。
這種方法對我來說似乎有點笨拙,但如果你只需要啟動幾個 VM,它可能對你來說很好。
通過圖像部署
如果您需要比適合的更重的觸摸
Invoke-Command
,您可能需要考慮部署映像。簡短的版本是您將像任何其他 Windows 圖像一樣準備圖像,將其上傳到 Azure 中的儲存帳戶,然後使用管理控制台將 VHD 添加到圖像中。這裡有一個簡短的指南。在我看來,這將是您解決問題的方式。您可以使用啟動腳本之類的東西來讓機器進入您想要的狀態,但最好切入正題,簡單地部署一個完全按照您需要的方式配置的映像。