Azure Az PowerShell modülü sorunlarını giderme
Hata ayıklama günlüğüne kaydetmeyi etkinleştirme
Azure Az PowerShell modülüyle ilgili bir sorunu gidermek için izlemeniz gereken ilk adımlardan biri hata ayıklama günlüğünü etkinleştirmektir.
Hata ayıklama günlüğünü komut temelinde etkinleştirmek için Debug parametresini belirtin.
Get-AzResource -Name 'DoesNotExist' -Debug
PowerShell oturumunun tamamında hata ayıklama günlüğünü etkinleştirmek için DebugPreference değişkeninin değerini olarak Continue
ayarlarsınız.
$DebugPreference = 'Continue'
Yükleme
Bu bölüm, Azure Az PowerShell modülünü yüklerken karşılaşılan yaygın sorunların çözümlerinin listesini içerir.
Az ve AzureRM birlikte bulunma
Uyarı
Hem AzureRM hem de Az PowerShell modüllerinin Windows PowerShell 5.1'de aynı anda yüklenmesini desteklemiyoruz.
AzureRM ve Az PowerShell modülünü aynı Windows sistemine yüklemeniz gereken bir senaryoda:
- AzureRM yalnızca Windows PowerShell 5.1'in geçerli kullanıcı kapsamında yüklenmelidir.
- Az PowerShell modülünü PowerShell 7.0.6 LTS, PowerShell 7.1.3 veya sonraki sürümlere yükleyin.
Dikkat
Az PowerShell modülleri artık AzureRM PowerShell modüllerinin tüm özelliklerine ve daha fazlasına sahip olduğundan, AzureRM PowerShell modüllerini 29 Şubat 2024'te kullanımdan kaldırmamız gerekir.
Hizmet kesintilerini önlemek için AzureRM PowerShell modüllerini kullanan betiklerinizi 29 Şubat 2024'e kadar Az PowerShell modüllerini kullanacak şekilde güncelleştirin. Betiklerinizi otomatik olarak güncelleştirmek için hızlı başlangıç kılavuzunu izleyin.
Visual Studio
Visual Studio'nun eski sürümleri, AzureRM modülünü yükleyen Azure geliştirme iş yükünün bir parçası olarak Azure PowerShell yükleyebilir. Azure PowerShell Visual Studio yükleyicisi kullanılarak veya Uygulamalar & özelliklerinde "Kaldır" kullanılarak kaldırılabilir. PowerShell 7.x'i zaten yüklediyseniz Azure Az PowerShell modülünü el ile yüklemeniz gerekebilir.
Ara sunucu blokları bağlantısı
PowerShell Galerisi ulaşılamıyor hatası alırsanızInstall-Module
, bir ara sunucu arkasında olabilirsiniz. Farklı işletim sistemlerinin ve ağ ortamlarının sistem genelinde ara sunucu yapılandırmaya ilişkin gereksinimleri farklıdır. Ara sunucu ayarlarınız ve ortamınızda bunları nasıl yapılandıracağınız konusunda sistem yöneticinize danışın.
PowerShell'in kendisi otomatik olarak bu ara sunucuyu kullanacak şekilde yapılandırılamaz. Aşağıdaki komutları kullanarak PowerShell 5.1 ve sonraki sürümlerinde PowerShell oturumunu bir ara sunucu kullanacak şekilde yapılandırın:
$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
İşletim sistemi kimlik bilgileriniz doğru yapılandırıldıysa, bu yapılandırma PowerShell isteklerini ara sunucu üzerinden yönlendirir. Bu ayarın oturumlar arasında kalıcı olmasını sağlamak için, komutu PowerShell profilinize ekleyin.
Paketi yüklemek için ara sunucunuzun www.powershellgallery.com HTTPS bağlantılarına izin vermesi gerekir.
Nesne başvurusu bir nesnenin örneğine ayarlanmadı
"Nesne başvurusu bir nesnenin örneğine ayarlanmadı" iletisi, null olan bir nesneye veya var olmayan veya erişim izniniz olmayan bir Azure kaynağına başvurduğunuz anlamına gelir.
$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.
Belirtilen Azure kaynağının Get-AzResource
mevcut olduğunu doğrulamak için cmdlet'ini kullanabilirsiniz.
Get-AzResource -ResourceId $resourceId
AzAD cmdlet'leriyle ilgili izin sorunları
Az PowerShell modülü Microsoft Graph API kullanır. Az PowerShell modülüyle Azure'da kaynakları yönetmek veya yönetmek için, Azure portal veya başka bir Azure komut satırı aracından aynı görevi gerçekleştirmek için aynı izinler gerekir. İzinler hakkında belirli sorular için bkz. Microsoft Graph izin başvurusu.
Microsoft Graph sorgu parametreleri
Az.Resources altındaki AzAd cmdlet'leri artık sorgu parametrelerini ve arama sorgusu parametrelerini destekliyor. Söz dizimi hakkında ayrıntılı bilgi için daha önce başvurulan bağlantılara bakın.
Get-AzAdGroupMember hizmet sorumlularını döndürmez
Geçerli Graph API sınırlamaları nedeniyle hizmet sorumluları Az 7.x'te Get-AzAdGroupMember tarafından döndürülmüyor. Geçici bir çözüm olarak Invoke-AzRestMethod, Microsoft Graph API beta sürümüyle kullanılabilir.
Aşağıdaki örnek Az PowerShell modülünü gerektirir. öğesini ilk satırda grubunuzun adıyla değiştirin myGroupName
.
$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'}}
Komut bulundu ancak yüklenemedi
Az PowerShell komutlarından herhangi birini çalıştırmayı denediğinizde PowerShell tarafından aşağıdaki ileti döndürülür.
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'.
Bu ileti, aynı Windows tabanlı sistemde hem Az hem de AzureRM PowerShell modülleri yüklü olduğunda ve aynı PowerShell sürümü için $env:PSModulePath'te mevcut olduğunda oluşur.
Önemli
AzureRM Windows PowerShell kapsamında yüklendiğindeAllUsers
, PowerShell 7'nin parçası $env:PSModulePath
olan bir konuma yüklenir. AzureRM ve Az PowerShell modülleri arasındaki çakışmalar nedeniyle bu desteklenmez.
Hem Az hem de AzureRM aynı Windows sisteminde birlikte bulunabilir, ancak yalnızca AzureRM Windows PowerShell kapsamında yüklüyse CurrentUser
ve Az PowerShell 7'de yüklüyse. Daha fazla bilgi için bkz. Azure Az PowerShell modülünü yükleme.
Dikkat
Az PowerShell modülleri artık AzureRM PowerShell modüllerinin tüm özelliklerine ve daha fazlasına sahip olduğundan, AzureRM PowerShell modüllerini 29 Şubat 2024'te kullanımdan kaldırmamız gerekir.
Hizmet kesintilerini önlemek için AzureRM PowerShell modüllerini kullanan betiklerinizi 29 Şubat 2024'e kadar Az PowerShell modüllerini kullanacak şekilde güncelleştirin. Betiklerinizi otomatik olarak güncelleştirmek için hızlı başlangıç kılavuzunu izleyin.
MacOS'ta KeyChain yetkilendirmesi başarısız olduğunda hata döndürülüyor
MacOS'ta Azure PowerShell çalıştırırken Bir PowerShell oturumundan Azure hesabınızda oturum açmaya çalışırken bir hata iletisiyle karşılaşabilirsiniz.
DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.
Bu soruna geçici bir çözüm olarak, aşağıdaki komutu çalıştırarak oturumlar arasında kimlik bilgilerinin depolanmasını devre dışı bırakabilirsiniz. Ancak bu değişikliği yaptıktan sonra, her yeni PowerShell oturumu başlattığınızda komutunu çalıştırmanız Connect-AzAccount
gerekir.
Disable-AzContextAutosave
Hizmet Sorumlusu IdentifierUri doğrulanmış etki alanı hatası
Hata: identifierUris özelliğinin değerleri kuruluşun doğrulanmış bir etki alanını kullanmalıdır veya veya New-AzADApplication
çalıştırılırken New-AzADServicePrincipal
alt etki alanı görüntülenir.
Tek kiracılı uygulamalarda AppId Uri'sinin varsayılan şemanın veya doğrulanmış etki alanlarının kullanılmasını gerektiren Azure Active Directory hataya neden olan değişiklik nedeniyle, veya cmdlet'lerini kullanmaya New-AzADServicePrincipal
devam etmek için Az.Resources modülünü 4.1.0 veya New-AzADApplication
sonraki bir sürüme yükseltmeniz gerekir.
Ayrıca Az PowerShell modülünün 6.0 veya sonraki bir sürümüne yükseltebilirsiniz.
Zaman çizelgesi
Gereksinim 15 Ekim 2021'de yürürlüğe girdi.
Etkilenen sürümler
Aşağıdaki Azure PowerShell sürümleri AzureAD hataya neden olan değişiklikten etkilenir:
- Az.Resources PowerShell modülü sürüm 3.5.1-preview veya üzeri.
- Az PowerShell modülü sürüm 5.9.0 veya üzeri.
Yükseltmeden sonra sorunlarla karşılaşmaya devam ediyorsanız bir sorun açmaktan çekinmeyin.
Geçici çözüm
Daha önce açıklanan PowerShell modüllerine yükseltemiyorsanız, hizmet sorumlusu oluştururken şu adımları izleyebilirsiniz:
- Gerekirse , Azure Active Directory portalını kullanarak özel etki alanı adınızı ekleyin
- Kabul edilen IdentifierUri ile uygulama oluşturma
- Bu uygulamaya başvuran bir hizmet sorumlusu oluşturun
Diğer sorunlar
Bu makalede listelenmeyen Azure PowerShell ile ilgili bir ürün sorunu yaşıyorsanız veya daha fazla yardım gerekiyorsa GitHub'da bir sorun bildirin.