Az Az PowerShell-modul hibaelhárítása
Hibakeresési naplózás engedélyezése
Az Az PowerShell-modullal kapcsolatos problémák elhárításának egyik első lépése a hibakeresési naplózás engedélyezése.
Ha parancsonként szeretné engedélyezni a hibakeresési naplózást, adja meg a Hibakeresés paramétert.
Get-AzResource -Name 'DoesNotExist' -Debug
Ha egy teljes PowerShell-munkamenet hibakeresési naplózását szeretné engedélyezni, állítsa a Hibakeresési idő változó értékét a következőreContinue
: .
$DebugPreference = 'Continue'
Közleményüzenetek automatizálási forgatókönyvekben
Amikor azure-beli PowerShell-lel csatlakozik az Azure-hoz, a bejelentési üzenetek a PowerShell információs adatfolyamával jelennek meg, hogy megakadályozzák a visszaadott objektumalapú kimenet módosítását. Bár mindent megtettünk annak érdekében, hogy a bejelentési üzenetek ne befolyásolják a felhasználói élményt, vannak olyan automatizálási forgatókönyvek, amelyek hatással lehetnek a használatra. Ha problémákat tapasztal, javasoljuk, hogy tiltsa le az adatfolyamot ezekben a forgatókönyvekben:
Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore
Web Account Manager (WAM)
- Az interaktív bejelentkezési módszer nem tud ablakot megnyitni a WAM számára, és a következő hibát adja vissza: Felhasználó megszakította a hitelesítést.
- Az Azure PowerShell-parancsmagok nem futtathatók a felhasználónévvel és jelszóval vagy eszközkóddal való bejelentkezés után.
- A WAM előugró ablaka nem jeleníti meg a Munkahelyi és iskolai fiók lehetőséget.
- Az interaktív bejelentkezési módszer nem tud WAM-ablakot megnyitni a Windows PowerShell ISE-konzolon.
A következő problémák kerülő megoldása a WAM letiltása:
Update-AzConfig -EnableLoginByWam $false
- A WAM előugró ablaka nem könnyű megtalálni egy fiókot. Az előugró ablak megkereséséhez kis méretűre állíthatja a többi ablakot.
Telepítés
Ez a szakasz az Az PowerShell-modul telepítésekor előforduló gyakori problémák megoldásainak listáját tartalmazza.
Az és az AzureRM együttes használata
Figyelmeztetés
Az AzureRM és az Az PowerShell-modul nem lehet egyszerre telepítve a Windows PowerShell 5.1-hez.
Olyan esetben, amikor az AzureRM és az Az PowerShell modult is ugyanarra a Windows rendszerre kell telepítenie:
- Az AzureRM-t csak a Windows PowerShell 5.1 aktuális felhasználói hatókörében kell telepíteni.
- Telepítse az Az PowerShell-modult a PowerShell 7.2-ben vagy újabb verziójában.
Figyelmeztetés
Az AzureRM PowerShell-modulját 2024. február 29-én hivatalosan elavultnak nyilvánítottuk. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.
Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.
Visual Studio
A Visual Studio régebbi verziói az Azure-beli fejlesztési számítási feladat részeként telepíthetik az Azure PowerShellt, amely telepíti az AzureRM modult. Az Azure PowerShell eltávolítható a Visual Studio telepítője vagy az Alkalmazások és szolgáltatások "Eltávolítás" funkciójának használatával. Ha már telepítette a PowerShell 7.x-et, előfordulhat, hogy manuálisan kell telepítenie az Az PowerShell-modult.
Egy proxy blokkolja a kapcsolatot
Ha a Install-Module
PowerShell-galéria nem érhető el, előfordulhat, hogy proxy mögött áll. A különböző operációs rendszerek és hálózati környezetek eltérő követelményeket támasztanak a rendszerszintű proxy konfigurálására vonatkozóan. A proxybeállításokkal és a környezet számára történő konfigurálásukkal kapcsolatban vegye fel a kapcsolatot a rendszergazdával.
Lehetséges, hogy maga a PowerShell nem konfigurálható a proxy automatikus használatára. A PowerShell 5.1-es vagy újabb verziója esetén konfigurálja a PowerShell-munkamenetet egy proxy használatára az alábbi parancsokkal:
$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
Ha az operációs rendszer hitelesítő adatai megfelelően vannak konfigurálva, ez a konfiguráció a proxyn keresztül irányítja át PowerShell-kéréseket. Ha azt szeretné, hogy ezt a beállítást a munkamenetek között is megőrizze a rendszer, adja hozzá a parancsokat a PowerShell-profilhoz.
A csomag telepítéséhez a proxynak engedélyeznie kell a HTTPS-kapcsolatokat www.powershellgallery.com.
Az objektumhivatkozás nem objektumpéldányra van beállítva
Az "objektumhivatkozás nem objektumpéldányra van állítva" üzenet azt jelenti, hogy null értékű objektumra vagy nem létező Azure-erőforrásra hivatkozik, vagy nincs hozzáférési engedélye.
$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.
A parancsmaggal Get-AzResource
ellenőrizheti, hogy a megadott Azure-erőforrás létezik-e.
Get-AzResource -ResourceId $resourceId
Az AzAD-parancsmagokkal kapcsolatos engedélyekkel kapcsolatos problémák
Az Az PowerShell-modul a Microsoft Graph API-t használja. Az Azure-ban az Az PowerShell-modullal végzett erőforrások felügyelete vagy kezelése ugyanazokat az engedélyeket igényli, mint az Azonos feladat végrehajtása az Azure Portalról vagy bármely más Azure parancssori eszközből. Az engedélyekkel kapcsolatos konkrét kérdésekért tekintse meg a Microsoft Graph engedélyeinek hivatkozását.
Microsoft Graph lekérdezési paraméterek
Az AzAd-parancsmagok az Az.Resources alatt mostantól támogatják a lekérdezési paramétereket és a keresési lekérdezési paramétereket. A szintaxissal kapcsolatos részletekért tekintse meg a korábban hivatkozott hivatkozásokat.
A Get-AzAdGroupMember nem ad vissza egyszerű szolgáltatásneveket
Az aktuális Graph API korlátozásai miatt a get-AzAdGroupMember nem adja vissza a szolgáltatásnevet az Az 7.x-ben. Kerülő megoldásként az Invoke-AzRestMethod a Microsoft Graph API bétaverziójával használható.
Az alábbi példához az Az PowerShell-modul szükséges. Cserélje le myGroupName
az első sorban a csoport nevére.
$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'}}
A parancs megtalálható, de nem tölthető be
A PowerShell az alábbi üzenetet adja vissza, amikor megkísérli futtatni bármelyik Az PowerShell-parancsot.
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'.
Ez az üzenet akkor fordul elő, ha az Az és az AzureRM PowerShell-modul is ugyanarra a Windows-alapú rendszerre van telepítve, és a PowerShell ugyanazon verziójához tartozó $env:PSModulePath fájlban találhatók.
Fontos
Ha az AzureRM telepítve van a AllUsers
Windows PowerShell hatókörében, a rendszer a PowerShell 7 részét képező $env:PSModulePath
helyre telepíti. Ez az AzureRM- és az Az PowerShell-modulok közötti ütközések miatt nem támogatott.
Az Az és az AzureRM is létezhet ugyanazon a Windows rendszeren, de csak akkor, ha az CurrentUser
AzureRM a PowerShell 7-ben telepített Windows PowerShell és Az hatókörébe van telepítve. További információ: Az Az PowerShell-modul telepítése.
Figyelmeztetés
Az AzureRM PowerShell-modulját 2024. február 29-én hivatalosan elavultnak nyilvánítottuk. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.
Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.
MacOS rendszeren hiba jelenik meg, ha a KeyChain-engedélyezés sikertelen
Amikor MacOS rendszeren futtatja az Azure PowerShellt, hibaüzenet jelenhet meg, amikor egy PowerShell-munkamenetből próbál bejelentkezni az Azure-fiókjába.
DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.
A probléma áthidaló megoldásaként a következő parancs futtatásával letilthatja a hitelesítő adatok munkamenetek közötti tárolását. A módosítás elvégzése után azonban minden alkalommal futtatnia Connect-AzAccount
kell, amikor új PowerShell-munkamenetet indít.
Disable-AzContextAutosave
A webhely kapcsolata nem biztonságos
Ha az alapértelmezett böngésző a Microsoft Edge, a következő hibaüzenet jelenhet meg, amikor interaktív módon Connect-AzAccount
próbál bejelentkezni az Azure-ba: "A webhely kapcsolata nem biztonságos". A probléma megoldásához látogasson el edge://net-internals/#hsts a Microsoft Edge-ben. Adja hozzá localhost
a "Tartománybiztonsági szabályzat törlése" területen, és kattintson a Törlés gombra.
Szolgáltatásnév-azonosítóUri által ellenőrzött tartományhiba
Hiba: Az identifierUris tulajdonság értékeinek a szervezet ellenőrzött tartományát kell használniuk, vagy annak altartománya a futtatáskor vagy New-AzADApplication
a .New-AzADServicePrincipal
A Microsoft Entra kompatibilitástörő változása miatt az egyetlen bérlős alkalmazásokban az AppId Uri-nak az alapértelmezett séma vagy ellenőrzött tartományok használatát kell megkövetelnie, az Az.Resources modult a 4.1.0-s vagy újabb verzióra kell frissítenie a további használathoz New-AzADServicePrincipal
vagy New-AzADApplication
parancsmagokhoz.
Az Az PowerShell-modul 6.0-s vagy újabb verziójára is frissíthet.
Idősor
A követelmény 2021. október 15-én lépett érvénybe.
Érintett verziók
Az Azure PowerShell következő verzióit érinti az AzureAD kompatibilitástörő változása:
- Az.Resources PowerShell-modul 3.5.1-es vagy újabb előzetes verziója.
- Az Az PowerShell-modul 5.9.0-s vagy kisebb verziója.
Ha a frissítés után is problémákba ütközik, nyugodtan nyisson meg egy problémát.
Áthidaló megoldás
Ha nem tud frissíteni a korábban ismertetett PowerShell-modulokra, a szolgáltatásnév létrehozásakor kövesse az alábbi lépéseket:
- Szükség esetén adja hozzá az egyéni tartománynevet a Microsoft Entra Felügyeleti központtal
- Alkalmazás létrehozása elfogadott IdentifierUri-val
- Az alkalmazásra hivatkozó szolgáltatásnév létrehozása
Egyéb problémák
Ha olyan termékproblémát tapasztal az Azure PowerShell-lel kapcsolatban, amely nem szerepel a cikkben, vagy további segítségre van szüksége, küldjön egy problémát a GitHubon.