Memecahkan masalah sumber daya bersama

Artikel ini membahas masalah yang mungkin muncul saat Anda menggunakan sumber daya bersama di Azure Automation.

Modul

Skenario: Modul macet selama impor

Masalah

Modul macet dalam status Mengimpor saat Anda mengimpor atau memperbarui modul Azure Automation.

Penyebab

Karena mengimpor modul PowerShell adalah proses yang rumit dan banyak langkah, modul mungkin tidak diimpor dengan benar, dan dapat macet dalam status sementara. Untuk mempelajari selengkapnya tentang proses impor, lihat Mengimpor modul PowerShell.

Resolusi

Untuk mengatasi masalah ini, Anda harus menghapus modul yang macet dengan menggunakan cmdlet Remove-AzAutomationModule. Anda kemudian dapat mencoba mengimpor modul lagi.

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

Skenario: Modul AzureRM macet selama impor setelah upaya pembaruan

Masalah

Banner dengan pesan berikut tetap berada di akun Anda setelah mencoba memperbarui modul AzureRM:

Azure modules are being updated

Penyebab

Ada masalah yang diketahui dengan memperbarui modul AzureRM di akun Automation. Secara khusus, masalah terjadi jika modul berada dalam grup sumber daya dengan nama numerik yang dimulai dengan 0.

Resolusi

Untuk memperbarui modul AzureRM di akun Automation, akun harus berada dalam grup sumber daya dengan nama alfanumerik. Grup sumber daya dengan nama numerik yang dimulai dengan 0 tidak dapat memperbarui modul AzureRM saat ini.

Skenario: Modul gagal mengimpor atau cmdlet tidak dapat dijalankan setelah mengimpor

Masalah

Modul gagal diimpor, atau modul berhasil diimpor, tetapi tidak ada cmdlet yang diekstraksi.

Penyebab

Beberapa alasan umum modul mungkin tidak berhasil diimpor ke Azure Automation adalah:

  • Strukturnya tidak cocok dengan struktur yang dibutuhkan Automation.
  • Modul bergantung pada modul lain yang belum disebarkan ke akun Automation Anda.
  • Modul kehilangan dependensinya di folder.
  • Cmdlet New-AzAutomationModule digunakan untuk mengunggah modul, dan Anda belum menyediakan jalur penyimpanan lengkap atau belum memuat modul dengan menggunakan URL yang dapat diakses publik.

Resolusi

Gunakan salah satu solusi ini untuk memperbaiki masalah:

  • Pastikan modul mengikuti format: ModuleName.zip -> ModuleName atau Nomor Versi -> (ModuleName.psm1, ModuleName.psd1).
  • Buka file .psd1 dan lihat apakah modul memiliki dependensi apa pun. Jika ya, unggah modul ini ke akun Automation.
  • Pastikan bahwa file .dll yang direferensikan ada di folder modul.

Skenario: Update-AzureModule.ps1 ditangguhkan saat memperbarui modul

Masalah

Saat menggunakan runbook Update-AzureModule.ps1 untuk memperbarui modul Azure Anda, proses pembaruan modul ditangguhkan.

Penyebab

Untuk runbook ini, pengaturan default untuk menentukan berapa banyak modul yang diperbarui secara bersamaan adalah 10. Proses pembaruan rentan terhadap kesalahan ketika terlalu banyak modul yang diperbarui pada saat yang sama.

Resolusi

Tidaklah umum bahwa semua modul AzureRM atau Az diperlukan di akun Automation yang sama. Anda sebaiknya hanya mengimpor modul tertentu yang Anda butuhkan.

Catatan

Hindari mengimpor seluruh modul Az.Automation atau AzureRM.Automation, yang mengimpor semua modul yang ada.

Jika proses pembaruan tertunda, tambahkan parameter SimultaneousModuleImportJobCount ke skrip Update-AzureModules.ps1, dan berikan nilai yang lebih rendah dari default 10. Jika Anda menerapkan logika ini, coba mulai dengan nilai 3 atau 5. SimultaneousModuleImportJobCount adalah parameter runbook sistem Update-AutomationAzureModulesForAccount yang digunakan untuk memperbarui modul Azure. Jika Anda melakukan penyesuaian ini, proses pembaruan akan berjalan lebih lama, tetapi memiliki peluang lebih besar untuk menyelesaikannya. Contoh berikut memperlihatkan parameter dan di mana meletakkannya di runbook:

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

Akun Jalankan Sebagai

Catatan

Azure Automation Jalankan sebagai akun, termasuk Akun Jalankan Sebagai Klasik telah dihentikan pada 30 September 2023 dan diganti dengan Identitas Terkelola Anda tidak akan lagi dapat membuat atau memperbarui Jalankan sebagai akun melalui portal Azure. Untuk informasi selengkapnya, lihat bermigrasi dari akun Run As yang ada ke identitas terkelola.

Skenario: Anda menerima kesalahan "Tidak dapat menemukan titik entri bernama 'GetPerAdapterInfo' di DLL 'iplpapi.dll'" saat menjalankan runbook

Masalah

Saat Anda menjalankan runbook, Anda menerima pengecualian berikut:

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

Penyebab

Kesalahan ini kemungkinan besar disebabkan oleh akun Run As yang dikonfigurasi dengan salah.

Resolusi

Pastikan akun Run As Anda dikonfigurasi dengan benar. Kemudian verifikasi bahwa Anda memiliki kode yang tepat di runbook Anda untuk mengautentikasi dengan Azure. Contoh berikut menunjukkan cuplikan kode untuk mengautentikasi ke Azure dalam runbook dengan menggunakan akun Run As.

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

Langkah berikutnya

Jika artikel ini tidak menyelesaikan masalah Anda, coba salah satu saluran berikut untuk mendapatkan dukungan tambahan:

  • Dapatkan jawaban dari para ahli Azure melalui Forum Internet Azure.
  • Terhubung dengan @AzureSupport. Ini adalah akun resmi Microsoft Azure untuk menyambungkan komunitas Azure ke sumber daya yang tepat: jawaban, dukungan, dan para ahli.
  • Ajukan insiden dukungan Azure. Buka situs web dukungan Azure, lalu pilih Dapatkan Dukungan.