Résolution des problèmes liés au module Az PowerShell
Activer l’enregistrement du débogage
L’une des premières étapes à suivre pour résoudre un problème avec le module Az PowerShell consiste à activer la journalisation du débogage.
Pour activer la journalisation du débogage par commande, spécifiez le paramètre Débogage.
Get-AzResource -Name 'DoesNotExist' -Debug
Pour activer la journalisation du débogage pour une session PowerShell entière, définissez la valeur de la variable DebugPreference sur Continue
.
$DebugPreference = 'Continue'
Messages d’annonce dans les scénarios d’automatisation
Lors de la connexion à Azure avec Azure PowerShell, les messages d’annonce sont affichés à l’aide du flux d’informations de PowerShell pour les empêcher de modifier la sortie basée sur l’objet retournée. Même si nous avons fait tous les efforts pour nous assurer que les messages d’annonce n’ont pas d’impact sur votre expérience, ils peuvent tout de même affecter l’utilisation dans certains scénarios d’automatisation. Si vous rencontrez des problèmes, nous vous recommandons de supprimer le flux d’informations dans ces scénarios :
Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore
Gestionnaire de comptes Web (WAM)
- La méthode de connexion interactive ne peut pas ouvrir de fenêtre pour WAM et retourne l’erreur suivante : Authentification annulée par l’utilisateur.
- Les applets de commande Azure PowerShell ne peuvent pas s’exécuter à la suite d’une connexion avec un nom d’utilisateur et un mot de passe ou un code d’appareil.
- La fenêtre contextuelle WAM n’affiche pas l’option Compte professionnel ou scolaire.
- La méthode de connexion interactive ne peut pas ouvrir de fenêtre WAM dans la console Windows PowerShell ISE.
La solution de contournement pour ces problèmes consiste à désactiver WAM :
Update-AzConfig -EnableLoginByWam $false
- La fenêtre contextuelle WAM pour sélectionner un compte n’est pas facile à trouver. Réduisez les autres fenêtres pour localiser la fenêtre contextuelle.
Installation
Cette section contient la liste des solutions aux problèmes courants qui se produisent lors de l’installation du module Az PowerShell.
Coexistence d’Az et AzureRM
Avertissement
Nous ne prenons pas en charge l’installation simultanée des modules AzureRM et Az PowerShell dans Windows PowerShell 5.1.
Dans un scénario où vous devez installer à la fois AzureRM et le module Az PowerShell sur le même système Windows :
- AzureRM doit être installé uniquement dans le cadre utilisateur actuel de Windows PowerShell 5.1.
- Installez le module Az PowerShell dans PowerShell 7.2 ou une version ultérieure.
Avertissement
Le module AzureRM PowerShell a été officiellement déprécié le 29 février 2024. Les utilisateurs sont invités à migrer d’AzureRM vers le module Az PowerShell afin de s’assurer d’une prise en charge et des mises à jour continues.
Il est possible que le module AzureRM fonctionne encore, mais il ne fait plus l’objet de maintenance ni de support. L’utilisateur peut continuer à s’en servir s’il le souhaite, à ses propres risques. Consultez nos ressources sur la migration pour obtenir des conseils sur la transition vers le module Az.
Visual Studio
Les versions antérieures de Visual Studio peuvent installer Azure PowerShell dans le cadre de la charge de travail de développement Azure, qui installe le module AzureRM. Azure PowerShell peut être supprimé à l’aide du programme d’installation de Visual Studio ou en utilisant « Désinstaller » dans Applications et fonctionnalités. Si vous avez déjà installé PowerShell 7.x, il peut être nécessaire d’installer manuellement le module Az PowerShell.
Le proxy bloque la connexion
Si vous recevez des erreurs de Install-Module
indiquant que PowerShell Gallery est inaccessible, vous êtes peut-être derrière un proxy. Les différents systèmes d’exploitation et environnements réseau ont des exigences propres pour configurer un proxy à l’échelle du système. Contactez votre administrateur système pour vos paramètres de proxy et pour savoir comment les configurer pour votre environnement.
PowerShell lui-même peut ne pas être configuré pour utiliser ce proxy automatiquement. Avec PowerShell 5.1 et ultérieur, configurez la session PowerShell pour utiliser un proxy avec les commandes suivantes :
$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
Si vos informations d’identification du système d’exploitation sont configurées correctement, cette configuration route les demandes PowerShell via le proxy. Pour conserver cette configuration entre les sessions, ajoutez les commandes à votre profil PowerShell.
Pour installer le package, votre proxy doit autoriser les connexions HTTPS sur www.powershellgallery.com.
La référence d’objet n’a pas la valeur d’une instance d’un objet
Le message « La référence d’objet n’est pas définie sur une instance d’objet » signifie que vous référencez un objet null, ou une ressource Azure qui n’existe pas ou pour laquelle vous n’avez pas d’autorisations d’accès.
$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.
Vous pouvez utiliser l’applet de commande Get-AzResource
pour vérifier que la ressource Azure spécifiée existe.
Get-AzResource -ResourceId $resourceId
Problèmes d’autorisation avec les applets de commande AzAD
Le module Az PowerShell utilise Microsoft API Graph. L’administration ou la gestion des ressources dans Azure avec le module Az PowerShell nécessite les mêmes autorisations que l’exécution de la tâche identique à partir de Portail Azure ou d’un autre outil en ligne de commande Azure. Pour des questions spécifiques sur les permissions, voir la référence sur les permissions Microsoft Graph.
Paramètres de requête Microsoft Graph
Les applets de commande AzAD sous Az.Resources prennent désormais en charge les paramètres de requête et les paramètres de requête de recherche. Pour plus d’informations sur la syntaxe, consultez les liens précédemment référencés.
Get-AzAdGroupMember ne retourne pas les principaux de service
En raison des limitations de l’API Graph actuelle, les principaux de service ne sont pas retournés par Get-AzAdGroupMember dans Az 7.x. En guise de solution de contournement, vous pouvez utiliser Invoke-AzRestMethod avec la version bêta de l’API Microsoft Graph.
L’exemple suivant demande le module Az PowerShell. Remplacez myGroupName
sur la première ligne par le nom de votre groupe.
$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'}}
Commande trouvée mais impossible à charger
Le message suivant est retourné par PowerShell lorsque vous essayez d’exécuter l’une des commandes 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'.
Ce message apparaît lorsque les modules Az et AzureRM PowerShell sont installés sur le même système Windows et qu’ils existent dans $env:PSModulePath pour la même version de PowerShell.
Important
Quand AzureRM est installé dans l’étendue AllUsers
de Windows PowerShell, il est installé dans un emplacement qui fait partie de $env:PSModulePath
pour PowerShell 7. Ce n’est pas pris en charge en raison de conflits entre les modules AzureRM et Az PowerShell.
Az et AzureRM peuvent coexister sur le même système Windows, mais uniquement si AzureRM est installé dans l’étendue CurrentUser
de Windows PowerShell et Az installé dans PowerShell 7. Pour plus d’informations, consultez Installer le module Az PowerShell.
Avertissement
Le module AzureRM PowerShell a été officiellement déprécié le 29 février 2024. Les utilisateurs sont invités à migrer d’AzureRM vers le module Az PowerShell afin de s’assurer d’une prise en charge et des mises à jour continues.
Il est possible que le module AzureRM fonctionne encore, mais il ne fait plus l’objet de maintenance ni de support. L’utilisateur peut continuer à s’en servir s’il le souhaite, à ses propres risques. Consultez nos ressources sur la migration pour obtenir des conseils sur la transition vers le module Az.
Sur MacOS, une erreur est retournée si l’autorisation KeyChain échoue
Lorsque vous exécutez Azure PowerShell sur MacOS, vous pouvez rencontrer un message d’erreur quand vous tentez de vous connecter à votre compte Azure à partir d’une session PowerShell.
DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.
Pour contourner ce problème, vous pouvez désactiver le stockage des informations d’identification entre les sessions en exécutant la commande suivante. Après avoir fait ce changement, toutefois, vous devez exécuter Connect-AzAccount
chaque fois que vous démarrez une nouvelle session PowerShell.
Disable-AzContextAutosave
La connexion pour ce site n’est pas sécurisée
Lorsque votre navigateur par défaut est Microsoft Edge, vous pouvez rencontrer l’erreur suivante lors de la tentative de connexion à Azure de manière interactive avec Connect-AzAccount
: « La connexion pour ce site n’est pas sécurisée. » Pour résoudre ce problème, visitez edge://net-internals/#hsts dans Microsoft Edge. Ajoutez localhost
sous « Supprimer la stratégie de sécurité de domaine », puis cliquez sur Supprimer.
Erreur du domaine vérifié de l’IdentifierUri du principal du service
L’erreur Les valeurs de la propriété IdentifierUris doivent utiliser un domaine vérifié de l’organisation ou de son sous-domaine s’affiche lors de l’exécution de New-AzADServicePrincipal
ou de New-AzADApplication
.
En raison du changement cassant de Microsoft Entra qui exige que l’URI AppId dans les applications monolocataires demande l’utilisation du modèle par défaut ou des domaines vérifiés, vous devez mettre à niveau le module Az.Resources vers la version 4.1.0 ou ultérieure pour continuer à utiliser les applets de commande New-AzADServicePrincipal
ou New-AzADApplication
.
Vous pouvez également mettre à niveau vers la version 6.0 ou ultérieure du module Az PowerShell.
Durée
L’exigence est entrée en vigueur le 15 octobre 2021.
Versions impactées
Les versions suivantes d’Azure PowerShell sont affectées par le changement cassant d’AzureAD :
- Module Az.Resources PowerShell version 3.5.1-preview ou antérieure.
- Module Az PowerShell version 5.9.0 ou antérieure.
Si vous rencontrez toujours des problèmes après la mise à niveau, n’hésitez pas à ouvrir un problème.
Solution de contournement
Si vous ne pouvez pas faire la mise à niveau vers les modules PowerShell décrits ci-dessus, vous pouvez suivre ces étapes pendant la création d’un principal de service :
- Si nécessaire, ajoutez votre nom de domaine personnalisé à l’aide du Centre d’administration Microsoft Entra
- Créer une application avec un IdentifierUri accepté
- Créer un principal de service faisant référence à cette application
Autres problèmes
Si vous rencontrez avec Azure PowerShell un problème de produit qui ne figure pas dans cet article ou si vous avez besoin d’aide supplémentaire, signalez un problème sur GitHub.