更新自動化中的 Azure PowerShell 模組

每個自動化帳戶中預設會提供最常用的 Azure PowerShell 模組。 請參閱預設模組。 由於 Azure 小組會定期更新 Azure 模組,內含的 Cmdlet 可能有所有變動。 這些變更 (例如,重新命名參數或完全取代 Cmdlet) 可能對您的 Runbook 造成負面影響。

注意

您無法刪除全域模組,因為這些是自動化預設提供的模組。

設定自動化帳戶

為了避免影響 Runbook 及其所自動化的流程,有所更新時,請務必測試和驗證。 如果您沒有適用於此用途的專用自動化帳戶,請考慮建立一個,讓您可以在開發 Runbook 期間測試許多不同的案例。 此測試應該包括反覆變更,例如更新 PowerShell 模組。

確認您的自動化帳戶已新增系統指派的受控識別或使用者指派的受控識別

如果您在本機開發指令碼,則在測試時,本機和自動化帳戶中最好有相同的模組版本,以確保獲得相同的結果。 結果已經過驗證且您已套用所需的任何變更之後,您就能將變更移到生產環境。

注意

新的自動化帳戶可能不會包含最新的模組。

更新 Az 模組

下列各節說明如何透過入口網站 (建議) 或 Runbook 更新 Az 模組。

透過入口網站更新 Az 模組

目前僅能透過入口網站更新 Az 模組, 未來會提供透過 PowerShell 和 ARM 範本更新的功能。 執行下列步驟只會更新預設 Az 模組:

  1. 登入 Azure 入口網站,然後瀏覽至您的自動化帳戶。

  2. 在 [共用資源] 底下,選取 [模組]。

  3. 選取 [更新 Az 模組]。

  4. 選取 [要更新的模組]。 根據預設,系統會顯示 Az 模組。

  5. 在下拉式清單中,選取 [模組版本] 與 [Runtype 版本]

  6. 選取 [更新] 以將 Az 模組更新為您選取的版本。 在 [模組] 頁面上可以檢視版本清單,如下所示:

    Update AZ modules page with selections.

如果您選取的版本低於已匯入自動化帳戶的現有 Az 模組版本,執行更新作業時會復原至您所選的較低版本。

如想驗證更新作業,請檢查 [PowerShell 模組] 下方 [模組] 清單中已更新模組的 [模組版本] 與 [狀態] 屬性。

Azure 團隊會定期更新模組版本,並可以從下拉式清單中選取模組版本來更新 [預設] Az 模組。

透過 Runbook 更新 Az 模組

如何更新自動化帳戶中的 Azure 模組:

  1. 使用以開放原始碼形式提供的 Update-AutomationAzureModulesForAccount (英文) Runbook。
  2. 從 GitHub 存放庫下載此 Runbook,用於更新 Azure 模組。
  3. 將此 Runbook 匯入自動化帳戶中,或當作指令碼執行。 若要了解如何將 Runbook 匯入自動化帳戶中,請參閱匯入 Runbook

注意

建議您透過 Azure 入口網站更新 Az 模組。 您也可以使用 Update-AutomationAzureModulesForAccount 指令碼執行更新作業;此指令碼為開放原始碼,提供作為參考。 不過,如果發生任何 Runbook 失敗,您必須視需要修改 Runbook 中的參數,或根據案例對指令碼進行偵錯。

根據預設,Update-AutomationAzureModulesForAccount Runbook 支援更新 Azure、AzureRM 和 Az 模組。 如需使用此 Runbook 來更新 Az.Automation 模組的詳細資訊,請參閱更新 Azure 模組 Runbook 讀我檔案。 在自動化帳戶中使用 Az 模組時,還有其他重要的因素需要考量。 若要深入了解,請參閱在 Azure 自動化中管理模組

將更新 Runbook 程式碼當做一般 PowerShell 指令碼使用

您可以將 Runbook 程式碼當作一般 PowerShell 指令碼來使用,而不是當作 Runbook。 若要這麼做,請先使用 onnect-AzAccount Cmdlet 登入 Azure,再將 -Login $false 傳給指令碼。

在主權雲端使用更新 Runbook

若要在主權雲端使用此 Runbook,請使用 AzEnvironment 參數將正確的環境傳給 Runbook。 允許的值為 AzureCloud (Azure 公用雲端)、AzureChinaCloud、AzureGermanCloud 和 AzureUSGovernment。 您可以使用 Get-AzEnvironment | select Name 來取出這些值。 如果您未將任何值傳給此 Cmdlet,則 Runbook 會以 AzureCloud 為預設值。

使用更新 Runbook 來更新特定模組版本

如果您想要使用特定的 Azure PowerShell 模組版本,而不是 PowerShell 資源庫上提供的最新模組版本,請將這些版本傳給 Update-AutomationAzureModulesForAccount Runbook 的選擇性 ModuleVersionOverrides 參數。 如需範例,請參閱 Update-AutomationAzureModulesForAccount.ps1 (英文) Runbook。 ModuleVersionOverrides 參數中未提及的 Azure PowerShell 模組會以 PowerShell 資源庫上的最新模組版本來更新。 如果您未傳遞任何項目給 ModuleVersionOverrides 參數,則所有模組都會以 PowerShell 資源庫上的最新模組版本來更新。 此行為同於 Azure 入口網站的 [更新 Azure 模組] 按鈕。

下一步