共用方式為


針對共用資源問題進行疑難排解

本文討論您在 Azure 自動化中使用共用資源時可能發生的問題。

模組

案例:模組在匯入期間停滯

問題

當您匯入或更新 Azure 自動化模組時,模組停滯於 [匯入中] 狀態。

原因

因為匯入 PowerShell 模組是很複雜、多步驟的過程,模組可能無法正確匯入,而停滯於暫時性狀態。 若要深入了解匯入流程,請參閱匯入 PowerShell 模組

解決方法

若要解決此問題,您必須使用 Remove-AzAutomationModule Cmdlet 移除停滯的模組。 您可以稍後再重試匯入模組。

Remove-AzAutomationModule -Name ModuleName -ResourceGroupName ExampleResourceGroup -AutomationAccountName ExampleAutomationAccount -Force

案例:AzureRM 模組在匯入期間嘗試更新之後停滯

問題

嘗試更新 AzureRM 模組之後,下列訊息的橫幅停留在您的帳戶中:

Azure modules are being updated

原因

在自動化帳戶中更新 AzureRM 模組已知有問題。 具體而言,此問題起因於模組所在的資源群組是開頭為 0 的數值名稱。

解決方法

若要在自動化帳戶中更新 AzureRM 模組,帳戶所在的資源群組必須是英數字元名稱。 目前,如果資源群組是開頭為 0 數值名稱,則無法更新 AzureRM 模組。

案例:無法匯入模組,或無法在匯入之後執行 Cmdlet

問題

無法匯入模組,或雖然成功匯入,但未擷取到任何 Cmdlet。

原因

模組可能無法成功匯入 Azure 自動化的部分常見原因如下:

  • 結構不符合自動化所需的結構。
  • 模組相依於另一個尚未部署到您自動化帳戶的模組。
  • 模組在資料夾中遺失其相依性。
  • 您使用 New-AzAutomationModule Cmdlet 來上傳模組,但未提供完整的儲存體路徑,或未使用可公開存取的 URL 來載入模組。

解決方法

使用下列任何解決方案來修正問題:

  • 請確定模組遵循下列格式:ModuleName.zip -> ModuleName 或 Version Number -> (ModuleName.psm1, ModuleName.psd1)。
  • 開啟 .psd1 檔案,查看模組是否有任何相依性。 如果有,請將這些模組上傳至自動化帳戶。
  • 請確定任何參考的 .dll 檔案存在於模組資料夾中。

案例:Update-AzureModule.ps1 會在更新模組時暫止

問題

使用 Update-AzureModule.ps1 Runbook 來更新 Azure 模組時,模組更新流程暫止。

原因

在此 Runbook 中,用以決定同時更新多少個模組的預設設定為 10。 同時更新太多模組時,更新程序很容易發生錯誤。

解決方法

同一個自動化帳戶中需要所有 AzureRM 或 Az 模組的情況並不常見。 您應該只匯入需要的特定模組。

注意

避免匯入整個 Az.AutomationAzureRM.Automation 模組,這樣匯入所有包含的模組。

如果更新流程暫止,請將 SimultaneousModuleImportJobCount 參數新增至 Update-AzureModules.ps1 指令碼,並提供低於預設值 10 的值。 如果您實作此邏輯,請嘗試從 3 或 5 的值開始。 SimultaneousModuleImportJobCountUpdate-AutomationAzureModulesForAccount 系統 Runbook (用於更新 Azure 模組) 的參數。 如果您進行這項調整,則更新流程會執行較久,但較有機會完成。 下列範例顯示參數以及要在 Runbook 中放置它的位置:

$Body = @"
   {
      "properties":{
      "runbook":{
            "name":"Update-AutomationAzureModulesForAccount"
      },
      "parameters":{
            ...
            "SimultaneousModuleImportJobCount":"3",
            ... 
      }
      }
   }
"@

執行身分帳戶

注意

Azure 自動化執行身分帳戶,包括傳統執行身分帳戶已在 2023 年 9 月 30 日淘汰,並以受控識別取代,您無法再透過 Azure 入口網站建立或更新執行身分帳戶。 如需詳細資訊,請參閱 從現有的執行身分帳戶移轉至受控識別

案例:您在執行 Runbook 時收到錯誤,內容指出「在 DLL iplpapi.dll 中找不到名為 GetPerAdapterInfo 的進入點」

問題

當您執行 Runbook 時,您收到下列例外狀況:

Unable to find an entry point named 'GetPerAdapterInfo' in DLL 'iplpapi.dll'

原因

此錯誤很可能起因於執行身分帳戶設定不正確。

解決方法

請確定已正確設定「執行身分帳戶」。 然後,確認 Runbook 中有適當的程式碼可向 Azure 進行驗證。 下列範例顯示 Runbook 中使用「執行身分帳戶」向 Azure 進行驗證的程式碼片段。

$connection = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $connection.TenantID `
-ApplicationID $connection.ApplicationID -CertificateThumbprint $connection.CertificateThumbprint

下一步

如果本文無法解決您的問題,請嘗試下列其中一個管道以取得其他支援:

  • 透過 Azure 論壇獲得由 Azure 專家所提供的解答。
  • @AzureSupport 連絡。 這是官方 Microsoft Azure 帳戶,可將 Azure 社群連結到正確的資源:解答、支援和專家。
  • 提出 Azure 支援事件。 前往 Azure 支援網站,然後選取 [取得支援]