Megosztás a következőn keresztül:


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, a DebugPreference változó értékét Continueértékre kell állítania.

$DebugPreference = 'Continue'

Ismert probléma: Az modulok telepítése a MAR-ból sikertelen

Ha bizonyos Az PowerShell-modulokat telepít a Microsoft Artifact Registryből (MAR) a PSResourceGet használatával, a következő hibaüzenet jelenhet meg:

Install-PSResource: Package(s) 'Az.Keyvault' could not be installed from repository 'MAR'.

Megjegyzés:

Ideiglenes áthidaló megoldásként telepítse a modult egy másik adattárból, például a PowerShell-katalógusból, amíg a probléma meg nem oldódott.

További információ: Hibajavítás a fájl elérési útjának nevének összehasonlításához a pontos egyezés meghatározásához.

Többtényezős hitelesítés (MFA) hibaelhárítása

Interaktív bejelentkezési hibák

Ha olyan Azure PowerShell-parancsmagok futtatásakor tapasztal hibákat, amelyek erőforrásokat hoznak létre, módosítanak vagy törölnek, a problémát egy Olyan Microsoft Entra ID feltételes hozzáférési szabályzat okozhatja, amely többtényezős hitelesítést (MFA) igényel.

Ezek a hibák általában akkor fordulnak elő, ha az MFA-t a szabályzat megköveteli, de a bejelentkezés során nem kényszerítik ki.

A SharedTokenCacheCredential hitelesítés nem érhető el

Ez a hiba a következő használatakor jelenhet meg:

  • Az A PowerShell-modul 14.2.0-s vagy korábbi verziója
  • Az.Accounts PowerShell 5.1.1 vagy korábbi modulja
SharedTokenCacheCredential authentication unavailable. Token acquisition failed for user
someone@contoso.com. Ensure that you have authenticated with a developer tool that supports Azure
single sign on.

Frissítsen a következő verziókra vagy újabb verziókra, hogy informatívabb hibaüzeneteket és szabályzatadatokat kapjon:

  • Az PowerShell-modul: 14.3.0-s vagy újabb verzió
  • Az.Accounts modul: 5.2.0-s vagy újabb verzió

Az erőforrást a szabályzat letiltotta

Ez a hiba az újabb modulverziókban (Az 14.3.0+ és Az.Accounts 5.2.0+) fordul elő, ahol az MFA-t a feltételes hozzáférés megköveteli adott műveletekhez.

Resource was disallowed by policy. Users must use MFA for Create operation.
Users must authenticate with multi-factor authentication to create or update resources.
Run the cmdlet below to authenticate interactively; additional parameters may be added as needed.
Connect-AzAccount -Tenant (Get-AzContext).Tenant.Id -ClaimsChallenge "<claims-challenge-token>"

Megoldási lehetőségek

  • Kérje meg az Azure-rendszergazdát, hogy a bejelentkezéskor kényszerítse ki az MFA-t. Ez lehetővé teszi, hogy a munkamenet további lépések nélkül megfeleljen a feltételes hozzáférési követelményeknek.

  • Ha az MFA-kényszerítés bejelentkezéskor nem lehetséges, használja a ClaimsChallenge paramétert az interaktív hitelesítéshez:

    Connect-AzAccount -Tenant (Get-AzContext).Tenant.Id -ClaimsChallenge "<claims-challenge-token>"
    

További információ: Kötelező többtényezős hitelesítés tervezése az Azure-ban és más felügyeleti portálokon

ROPC-hiba: A rendszergazda által végrehajtott konfigurációmódosítás miatt

Az erőforrás-tulajdonos jelszó alapú hitelesítési folyamatát (ROPC) akkor használja, amikor jelszóval jelentkezik be az Azure-ba. Ez a hitelesítési módszer nem támogatja az MFA-t. Íme egy példa:

Connect-AzAccount -Credential $Credential

Ha a felhasználói fiókhoz MFA szükséges, a parancs a következő hibával meghiúsul:

Connect-AzAccount : UsernamePasswordCredential authentication failed: Response status code does not
indicate success: 400 (BadRequest). See the troubleshooting guide for more information
https://aka.ms/azsdk/net/identity/usernamepasswordcredential/troubleshoot

Megoldás: Használjon az MFA-val kompatibilis hitelesítési módszert.

Bérlőközi figyelmeztetés: A hitelesítés nem sikerült a bérlővel szemben

Ha több bérlőhöz van hozzáférése, és az egyikhez MFA szükséges, az Azure PowerShell a következő figyelmeztetést jelenítheti meg:

WARNING: Unable to acquire token for tenant '00000000-0000-0000-0000-000000000000' with error
'Authentication failed against tenant 00000000-0000-0000-0000-000000000000. User interaction is
required. This may be due to the conditional access policy settings such as multi-factor
authentication (MFA). If you need to access subscriptions in that tenant, please rerun
'Connect-AzAccount' with additional parameter '-TenantId 00000000-0000-0000-0000-000000000000.'

Az Azure PowerShell a bejelentkezés során a megtalált első bérlővel próbál bejelentkezni. Ha a bérlő kényszeríti az MFA-t, a hitelesítés sikertelen lehet. A probléma elkerülése érdekében kifejezetten adja meg a cél tárbérlőt a TenantId paraméterrel.

Connect-AzAccount -TenantId 00000000-0000-0000-0000-000000000000

Ez biztosítja, hogy a hitelesítést a megfelelő bérlő ellen kísérelje meg, csökkentve az MFA-kkal kapcsolatos hibák valószínűségét.

Közleményüzenetek automatizálási forgatókönyvekben

Az Azure-hoz való csatlakozáskor az Azure PowerShell használatával a bejelentési üzenetek a PowerShell információs adatfolyamán keresztül 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

Webfiók Kezelő (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.

Ezeknek a problémáknak a megoldása a WAM letiltása.

Update-AzConfig -EnableLoginByWam $false
  • A WAM előugró ablak, amely egy fiók kiválasztására szolgál, nem könnyen megtalálható. Az előugró ablak megkereséséhez kis méretűre állíthatja a többi ablakot.

Installation

Ez a szakasz az Az PowerShell-modul telepítésekor előforduló gyakori problémák megoldásainak listáját tartalmazza.

Az Az és az AzureRM rendszerek együttes használata

Figyelmeztetés

Nem támogatjuk, hogy az AzureRM és az Az PowerShell modul egyszerre legyen telepítve a Windows PowerShell 5.1-ben.

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 modul hivatalosan elavultnak lett nyilvánítva 2024. február 29-én. 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ödhet, a továbbiakban nincs karbantartva vagy támogatva, így a folytatólagos használat a felhasználó saját belátásán és kockázatán múlik. 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 hibák merülnek fel a Install-Module miatt, amelyek szerint a 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 különböző követelményekkel rendelkeznek a rendszerszintű proxy konfigurálásához. 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.

Előfordulhat, hogy maga a PowerShell nem konfigurálható úgy, hogy automatikusan használja ezt a proxyt. A PowerShell 5.1 és újabb verzióival konfigurálja a PowerShell-munkamenetet 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 PowerShell-kérelmeket a proxyn keresztül irányítja át. 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 nincs beállítva egy objektumpéldányra

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 Get-AzResource parancsmaggal ellenőrizheti, hogy a megadott Azure-erőforrás létezik-e.

Get-AzResource -ResourceId $resourceId

AzAD-parancsmagokkal kapcsolatos engedélyezési 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 szolgáltatásobjektumokat.

Az aktuális Graph API korlátozásai miatt a szolgáltatási szereplők nem jelennek meg az Az 7.x Get-AzAdGroupMember parancsában. Áthidaló megoldásként 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. Az első sorban cserélje le a myGroupName-t 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 a Windows PowerShell AllUsers hatókörébe van telepítve, akkor a PowerShell 7 $env:PSModulePath részét képező helyen van telepítve. Ez az AzureRM és az Az PowerShell-modulok közötti ütközések miatt nem támogatott.

Mind az Az, mind az AzureRM létezhet ugyanazon a Windows rendszeren, de csak akkor, ha az AzureRM a Windows PowerShell CurrentUser hatókörében van telepítve, és az Az a PowerShell 7-ben van telepítve. További információ: Az Az PowerShell-modul telepítése.

Figyelmeztetés

Az AzureRM PowerShell modul hivatalosan elavultnak lett nyilvánítva 2024. február 29-én. 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ödhet, a továbbiakban nincs karbantartva vagy támogatva, így a folytatólagos használat a felhasználó saját belátásán és kockázatán múlik. 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 kell Connect-AzAccount, 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-AzAccountpró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ékei csak a szervezet ellenőrzött tartományát vagy annak altartományát használhatják, és ez a hibaüzenet megjelenik, amikor a New-AzADServicePrincipal vagy New-AzADApplication fut.

A Microsoft Entra kompatibilitás-megszakító változása miatt az egybérlős alkalmazásokban az AppId Uri megköveteli az alapértelmezett séma vagy az ellenőrzött tartományok használatát, ezért frissítenie kell az Az.Resources modult a 4.1.0-s vagy újabb verzióra a New-AzADServicePrincipal vagy New-AzADApplication parancsmagok további használatához.

Az Az PowerShell-modul 6.0-s vagy újabb verziójára is frissíthet.

Ütemterv

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 PowerShell-modul 5.9.0-s vagy annál kisebb verziója.

Ha a frissítés után is problémákba ütközik, nyugodtan nyisson meg egy problémát.

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:

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.