Bagikan melalui


Pemecahan masalah modul Az PowerShell

Mengaktifkan pengelogan debug

Salah satu langkah pertama yang harus Anda ambil dalam memecahkan masalah dengan modul 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'

Pesan pengumuman dalam skenario otomatisasi

Saat menyambungkan ke Azure dengan Azure PowerShell, pesan pengumuman ditampilkan menggunakan aliran informasi PowerShell untuk mencegahnya mengubah output berbasis objek yang dikembalikan. Meskipun kami telah melakukan setiap upaya untuk memastikan pesan pengumuman tidak memengaruhi pengalaman Anda, ada beberapa skenario otomatisasi di mana pesan tersebut dapat memengaruhi penggunaan. Jika Anda mengalami masalah, kami sarankan Anda menekan aliran informasi dalam skenario tersebut:

Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore

Pengelola Akun Web (WAM)

  • Metode masuk interaktif tidak dapat membuka jendela untuk WAM dan mengembalikan kesalahan: Pengguna membatalkan autentikasi.
  • Cmdlet Azure PowerShell tidak dapat berjalan setelah masuk dengan nama pengguna dan kata sandi atau kode perangkat.
  • Jendela popup WAM tidak menampilkan opsi Akun Kantor dan Sekolah.
  • Metode masuk interaktif tidak dapat membuka jendela WAM di konsol ISE Windows PowerShell.

Solusi untuk masalah ini adalah menonaktifkan WAM:

Update-AzConfig -EnableLoginByWam $false
  • Jendela popup WAM untuk memilih akun tidak mudah ditemukan. Minimalkan jendela lain untuk menemukan jendela popup.

Instalasi

Bagian ini berisi daftar solusi untuk masalah umum saat menginstal modul 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 ini tidak lagi dipelihara atau didukung, sehingga penggunaan yang berkelanjutan menjadi tanggung jawab dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk petunjuk dalam beralih 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 diblokir oleh proksi

Jika Anda mendapatkan pesan kesalahan dari Install-Module bahwa Galeri PowerShell tidak dapat dijangkau, mungkin Anda berada di belakang proksi. Sistem operasi dan lingkungan jaringan yang berbeda memiliki persyaratan yang berbeda untuk mengonfigurasi proksi di seluruh sistem. Hubungi administrator sistem 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 instance objek

Pesan "referensi objek tidak diatur ke instans objek" berarti bahwa Anda merujuk ke objek yang kosong atau sumber daya Azure yang tidak ada, atau bahwa Anda tidak memiliki izin untuk mengaksesnya.

$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 cmdlet Get-AzResource 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 Microsoft Azure atau alat baris perintah Azure lainnya. Untuk pertanyaan spesifik tentang izin, lihat referensi izin Microsoft Graph.

Parameter Microsoft Graph untuk kueri

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

Get-AzAdGroupMember tidak mengembalikan prinsipal layanan

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

Contoh berikut 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 tetapi 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 terjadi ketika Anda memiliki modul Az dan AzureRM PowerShell yang diinstal pada 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 ini tidak lagi dipelihara atau didukung, sehingga penggunaan yang berkelanjutan menjadi tanggung jawab dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk petunjuk dalam beralih ke modul Az.

Di MacOS, kesalahan akan kembali terjadi saat otorisasi KeyChain gagal

Saat menjalankan Azure PowerShell di MacOS, Anda mungkin mengalami 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 verifikasi domain pada Service Principal IdentifierUri

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

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

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

Garis waktu

Persyaratan mulai berlaku 15 Oktober 2021.

Versi yang terdampak

Versi Azure PowerShell berikut terdampak oleh perubahan signifikan di AzureAD:

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

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

Penanganan masalah

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.