Pemecahan masalah modul Az PowerShell

Mengaktifkan pengelogan debug

Salah satu langkah pertama yang harus Anda ambil dalam memecahkan masalah dengan modul Azure Az PowerShell adalah mengaktifkan pengelogan debug.

Untuk mengaktifkan pengelogan debug berdasarkan perintah, tentukan parameter Debug.

Get-AzResource -Name 'DoesNotExist' -Debug

Untuk mengaktifkan pengelogan debug untuk seluruh sesi PowerShell, Anda menetapkan nilai variabel DebugPreference menjadi Continue.

$DebugPreference = 'Continue'

Penginstalan

Bagian ini berisi daftar solusi untuk masalah umum saat menginstal modul Azure Az PowerShell.

Koeksistensi Az dan AzureRM

Peringatan

Kami tidak mendukung penginstalan modul AzureRM dan Az PowerShell di Windows PowerShell 5.1 secara bersamaan.

Dalam skenario di mana Anda perlu menginstal modul AzureRM dan Az PowerShell pada sistem Windows yang sama:

  • AzureRM harus diinstal hanya dalam cakupan pengguna Windows PowerShell 5.1 saat ini.
  • Instal modul Az PowerShell di PowerShell 7.2 atau yang lebih tinggi.

Peringatan

Modul AzureRM PowerShell telah resmi tidak digunakan lagi per 29 Februari 2024. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan.

Meskipun modul AzureRM mungkin masih berfungsi, modul tersebut tidak lagi dipertahankan atau didukung, menempatkan penggunaan berkelanjutan berdasarkan kebijaksanaan dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk panduan tentang transisi ke modul Az.

Visual Studio

Versi Visual Studio yang lebih lama dapat menginstal Azure PowerShell sebagai bagian dari beban kerja pengembangan Azure, yang menginstal modul AzureRM. Azure PowerShell dapat dihapus menggunakan penginstal Visual Studio atau dengan menggunakan "Uninstall" di Aplikasi & fitur. Jika Anda telah menginstal PowerShell 7.x, Anda mungkin perlu menginstal modul Az PowerShell secara manual.

Koneksi blok proksi

Jika Anda mendapatkan kesalahan dari Install-Module di mana Galeri PowerShell tidak dapat dijangkau, Anda mungkin berada di belakang proksi. Sistem operasi dan lingkungan jaringan yang berbeda memiliki persyaratan yang berbeda untuk mengonfigurasi proksi di seluruh sistem. Hubungi administrator sistem Anda untuk pengaturan proksi Anda dan cara mengonfigurasinya untuk lingkungan Anda.

PowerShell sendiri mungkin tidak dikonfigurasi untuk menggunakan proksi ini secara otomatis. Dengan PowerShell 5.1 dan yang lebih baru, konfigurasikan sesi PowerShell untuk menggunakan proksi menggunakan perintah berikut:

$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

Jika kredensial sistem operasi Anda dikonfigurasi dengan benar, konfigurasi ini merutekan permintaan PowerShell melalui proksi. Agar pengaturan ini bertahan di antara sesi, tambahkan perintah ke profil PowerShell Anda.

Untuk menginstal paket, proksi Anda harus mengizinkan koneksi HTTPS ke www.powershellgallery.com.

Referensi objek tidak diatur ke instans objek

Pesan "referensi objek tidak diatur ke instans objek" berarti Anda merujuk ke objek yang null atau sumber daya Azure yang tidak ada atau Anda tidak memiliki izin untuk mengakses.

$resourceId =  '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<resource-group-name>/providers/Microsoft.Web/sites/<webapp-name>/privateEndpointConnections/<endpoint-name>'
Get-AzPrivateEndpointConnection -ResourceId $resourceId
Get-AzPrivateEndpointConnection: Object reference not set to an instance of an object.

Anda dapat menggunakan Get-AzResource cmdlet untuk memverifikasi bahwa sumber daya Azure yang ditentukan ada.

Get-AzResource -ResourceId $resourceId

Masalah izin dengan cmdlet AzAD

Modul Az PowerShell menggunakan Microsoft Graph API. Mengelola atau mengelola sumber daya di Azure dengan modul Az PowerShell memerlukan izin yang sama seperti melakukan tugas yang identik dari portal Azure atau alat baris perintah Azure lainnya. Untuk pertanyaan spesifik tentang izin, lihat referensi izin Microsoft Graph.

Parameter Kueri Microsoft Graph

Cmdlet AzAd pada Az.Resources kini mendukung parameter kueri dan parameter kueri pencarian. Untuk detail tentang sintaks, lihat tautan yang direferensikan sebelumnya.

Get-AzAdGroupMember tidak mengembalikan perwakilan layanan

Karena keterbatasan dengan Graph API saat ini, perwakilan layanan tidak dikembalikan oleh Get-AzAdGroupMember di Az 7.x. Sebagai solusinya, Invoke-AzRestMethod dapat digunakan dengan versi beta dari API Microsoft Graph.

Contoh berikut ini memerlukan modul Az PowerShell. Ganti myGroupName di baris pertama dengan nama grup Anda.

$Group = Get-AzADGroup -DisplayName myGroupName
((Invoke-AzRestMethod -Uri "https://graph.microsoft.com/beta/groups/$($Group.id)/members").Content |
  ConvertFrom-Json).value |
  Select-Object -Property DisplayName, Id, @{label='OdataType';expression={$_.'@odata.type'}}

Perintah ditemukan namun tidak dapat dimuat

Pesan berikut dikembalikan oleh PowerShell saat Anda mencoba menjalankan salah satu perintah Az PowerShell.

Connect-AzAccount: The 'Connect-AzAccount' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.

Pesan ini muncul ketika Anda menginstal modul Az dan AzureRM PowerShell yang diinstal di sistem berbasis Windows yang sama dan ada di $env:PSModulePath untuk versi PowerShell yang sama.

Penting

Saat AzureRM diinstal dalam cakupan AllUsers Windows PowerShell, AzureRM diinstal di lokasi yang merupakan bagian dari $env:PSModulePath untuk PowerShell 7. Ini tidak didukung karena konflik antara modul AzureRM dan Az PowerShell.

Az dan AzureRM dapat hidup berdampingan pada sistem Windows yang sama, tetapi hanya jika AzureRM diinstal dalam cakupan CurrentUser Windows PowerShell dan Az yang diinstal di PowerShell 7. Untuk informasi selengkapnya, lihat Menginstal modul Az PowerShell.

Peringatan

Modul AzureRM PowerShell telah resmi tidak digunakan lagi per 29 Februari 2024. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan.

Meskipun modul AzureRM mungkin masih berfungsi, modul tersebut tidak lagi dipertahankan atau didukung, menempatkan penggunaan berkelanjutan berdasarkan kebijaksanaan dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk panduan tentang transisi ke modul Az.

Di MacOS, kesalahan akan kembali terjadi saat otorisasi KeyChain gagal

Saat menjalankan Azure PowerShell di MacOS, Anda mungkin menemukan pesan kesalahan saat mencoba masuk ke akun Azure Anda dari sesi PowerShell.

DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.

Sebagai solusi untuk masalah ini, Anda dapat menonaktifkan penyimpanan kredensial antar sesi dengan menjalankan perintah berikut. Namun, setelah membuat perubahan ini, Anda perlu menjalankan Connect-AzAccount setiap kali Anda memulai sesi PowerShell baru.

Disable-AzContextAutosave

Sambungan untuk situs ini tidak aman

Saat browser default Anda adalah Microsoft Edge, Anda mungkin mengalami kesalahan berikut saat mencoba masuk ke Azure secara interaktif dengan Connect-AzAccount: "Koneksi untuk situs ini tidak aman." Untuk mengatasi masalah ini, kunjungi edge://net-internals/#hsts di Microsoft Edge. Tambahkan localhost di bawah "Hapus kebijakan keamanan domain" dan klik Hapus.

Kesalahan domain terverifikasi IdentifierUri Perwakilan Layanan

Kesalahan: Nilai properti IdentifierUris harus menggunakan domain terverifikasi dari organisasi atau subdomainnya ditampilkan saat menjalankan New-AzADServicePrincipal atau New-AzADApplication.

Karena perubahan melanggar Microsoft Entra yang mengharuskan AppId Uri dalam aplikasi penyewa tunggal untuk mewajibkan penggunaan skema default atau domain terverifikasi, Anda harus meningkatkan modul Az.Resources ke versi 4.1.0 atau yang lebih baru untuk terus menggunakan New-AzADServicePrincipal atau New-AzADApplication cmdlet.

Anda juga dapat meningkatkan ke modul Az PowerShell versi 6.0 atau lebih baru.

Garis Waktu

Persyaratan mulai berlaku 15 Oktober 2021.

Versi yang terpengaruh

Versi Azure PowerShell berikut dipengaruhi oleh perubahan pemecahan AzureAD:

  • Modul Az.Resources PowerShell versi 3.5.1-preview atau lebih rendah.
  • Modul Az PowerShell versi 5.9.0 atau yang lebih rendah.

Jika Anda masih mengalami masalah setelah peningkatan, jangan ragu untuk membuka masalah.

Solusi Sementara

Jika Anda tidak dapat meningkatkan ke modul PowerShell yang dijelaskan sebelumnya, Anda dapat mengikuti langkah-langkah tersebut saat membuat perwakilan layanan:

Masalah Lain

Jika Anda mengalami masalah produk dengan Azure PowerShell yang tidak tercantum dalam artikel ini atau memerlukan bantuan lebih lanjut, ajukan masalah di GitHub.