Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Azure PowerShell utilise des objets de contexte Azure PowerShell (contextes Azure) pour contenir des informations d’abonnement et d’authentification. Si vous avez accès à plusieurs abonnements, les contextes Azure vous permettent de sélectionner l’abonnement sur lequel exécuter des applets de commande Azure PowerShell. Les contextes Azure sont également utilisés pour stocker des informations de connexion sur plusieurs sessions PowerShell et exécuter des tâches en arrière-plan.
Cet article traite de la gestion des contextes Azure, et non de la gestion des abonnements ou des comptes. Si vous souhaitez gérer les utilisateurs, les abonnements, les locataires ou d’autres informations de compte, consultez la documentation microsoft Entra ID . Pour en savoir plus sur l’utilisation de contextes pour exécuter des tâches en arrière-plan ou parallèles, consultez Exécuter des applets de commande Azure PowerShell dans les travaux PowerShell après avoir été familiarisé avec les contextes Azure.
Vue d’ensemble des objets de contexte Azure
Les contextes Azure sont des objets PowerShell représentant votre abonnement actif pour exécuter des commandes et les informations d’authentification nécessaires pour se connecter à un cloud Azure. Avec les contextes Azure, Azure PowerShell n’a pas besoin de réauthentifier votre compte chaque fois que vous changez d’abonnement. Un contexte Azure se compose des éléments suivants :
-
Compte utilisé pour se connecter à Azure avec
Connect-AzAccount. Les contextes Azure traitent les utilisateurs, les ID d’application et les principaux de service identiques du point de vue d’un compte. - L’abonnement actif, un contrat de service avec Microsoft pour créer et exécuter des ressources Azure, qui sont associées à un locataire. Les locataires sont souvent appelés organisations dans la documentation ou lors de l’utilisation de Microsoft Entra.
- Référence à un cache de jetons, jeton d’authentification stocké pour accéder à un cloud Azure. Les paramètres d’enregistrement automatique du contexte déterminent où le jeton est stocké et la durée pendant laquelle il persiste.
Pour plus d’informations sur ces termes, consultez la terminologie de Microsoft Entra. Les jetons d’authentification utilisés par les contextes Azure sont identiques aux autres jetons stockés qui font partie d’une session persistante.
Lorsque vous vous connectez avec Connect-AzAccount, au moins un contexte Azure est créé pour votre abonnement par défaut. L’objet retourné par Connect-AzAccount est le contexte Azure par défaut utilisé pour le reste de la session PowerShell.
Obtenir des contextes Azure
Les contextes Azure disponibles sont récupérés avec l’applet de Get-AzContext commande. Répertoriez les contextes disponibles avec le paramètre ListAvailable :
Get-AzContext -ListAvailable
Ou obtenir un contexte par nom :
Get-AzContext -Name MyContextName
Les noms de contexte peuvent être différents du nom de l’abonnement associé. Pour déterminer le nom de contexte, utilisez la valeur de la propriété Name , qui n’est pas affichée par défaut.
Get-AzContext -ListAvailable | Select-Object -Property *
Important
Les contextes Azure disponibles ne sont pas toujours vos abonnements disponibles. Les contextes Azure représentent uniquement les informations stockées localement. Vous pouvez obtenir vos abonnements avec l’applet de Get-AzSubscription commande.
Créer un contexte Azure à partir d’informations d’abonnement
L’applet Set-AzContext de commande est utilisée pour créer et définir de nouveaux contextes Azure comme contexte actif. Le moyen le plus simple de créer un contexte Azure consiste à utiliser les informations d’abonnement existantes. L’applet Set-AzContext de commande est conçue pour prendre l’objet de sortie à partir d’une Get-AzSubscription valeur redirigée et configurer un nouveau contexte Azure :
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Ou donnez le nom ou l’ID d’abonnement et l’ID de locataire si nécessaire :
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Si le paramètre Name est omis, le nom et l’ID de l’abonnement sont utilisés comme nom de contexte au format Subscription Name (subscription-id).
Modifier le contexte Azure actif
Les deux Set-AzContext et Select-AzContext peuvent être utilisés pour modifier le contexte Azure actif. Comme décrit dans Créer un contexte Azure, Set-AzContext crée un contexte Azure pour un abonnement s’il n’existe pas, puis bascule le contexte actif vers celui-ci.
Select-AzContext est destiné à être utilisé uniquement avec des contextes Azure existants et fonctionne de la même manière que l’utilisation Set-AzContext -Context, mais est conçue pour être utilisée avec la canalisation :
Set-AzContext -Context (Get-AzContext -Name MyContextName) # Set a context with an inline Azure context object
Get-AzContext -Name MyContextName | Select-AzContext # Set a context with a piped Azure context object
Comme beaucoup d’autres commandes de gestion de compte et de contexte dans Azure PowerShell, Set-AzContext et Select-AzContext prenez en charge le paramètre Scope afin de pouvoir contrôler la durée pendant laquelle le contexte est actif.
L’étendue vous permet de modifier le contexte actif d’une seule session sans modifier votre valeur par défaut :
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
Pour éviter de changer de contexte pour une session PowerShell entière, les commandes Azure PowerShell avec un paramètre AzContext peuvent être exécutées sur un contexte donné :
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
L’autre utilisation principale de contextes avec des applets de commande Azure PowerShell consiste à exécuter des commandes en arrière-plan. Pour en savoir plus sur l’exécution de travaux PowerShell à l’aide d’Azure PowerShell, consultez Exécuter des applets de commande Azure PowerShell dans Les travaux PowerShell.
Enregistrer des contextes Azure dans les sessions PowerShell
Par défaut, les contextes Azure sont enregistrés pour une utilisation entre les sessions PowerShell. Vous pouvez modifier ce comportement de la manière suivante :
Connectez-vous à l’aide de
-Scope ProcessConnect-AzAccount.Connect-AzAccount -Scope ProcessLe contexte Azure retourné dans le cadre de cette connexion est valide pour la session active uniquement et n’est pas enregistré automatiquement, quel que soit le paramètre d’enregistrement automatique du contexte Azure PowerShell.
Désactivez l’enregistrement automatique du contexte dans Azure PowerShell avec l’applet de
Disable-AzContextAutosavecommande. La désactivation de l’enregistrement automatique du contexte n’efface aucun jeton stocké. Pour savoir comment effacer les informations de contexte Azure stockées, consultez Supprimer les contextes Azure et les informations d’identification stockées.Activer explicitement l’enregistrement automatique du contexte Azure peut être activé avec l’applet de
Enable-AzContextAutosavecommande. Une fois l’enregistrement automatique activé, les contextes d’un utilisateur sont stockés localement pour les sessions PowerShell ultérieures.Enregistrez manuellement les contextes à
Save-AzContextutiliser dans les futures sessions PowerShell, où ils peuvent être chargés avecImport-AzContext:Save-AzContext -Path current-context.json # Save the current context Import-AzContext -Path other-context.json # Load the context from a file and set it to the current context
Avertissement
La désactivation de l’enregistrement automatique du contexte n’efface pas les informations de contexte stockées enregistrées. Pour supprimer des informations stockées, utilisez l’applet de Clear-AzContext commande. Pour plus d’informations sur la suppression de contextes enregistrés, consultez Supprimer les contextes Azure et les informations d’identification stockées.
Chacune de ces commandes prend en charge le paramètre Scope , qui peut prendre une valeur de Process ne s’appliquer qu’au processus en cours d’exécution. Par exemple, pour vous assurer que les contextes nouvellement créés ne sont pas enregistrés après avoir quitté une session PowerShell :
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Les informations de contexte et les jetons sont stockés dans le $env:USERPROFILE\.Azure répertoire sur Windows et $HOME/.Azure sur d’autres plateformes. Les informations sensibles telles que les ID d’abonnement et les ID de locataire peuvent toujours être exposées dans des informations stockées, via des journaux ou des contextes enregistrés. Pour savoir comment effacer les informations stockées, consultez Supprimer les contextes Azure et les informations d’identification stockées.
Supprimer des contextes Azure et des informations d’identification stockées
Pour effacer les contextes et informations d’identification Azure :
Déconnectez-vous d’un compte avec
Disconnect-AzAccount. Vous pouvez vous déconnecter de n’importe quel compte par compte ou par contexte :Disconnect-AzAccount # Disconnect active account Disconnect-AzAccount -Username 'user@contoso.com' # Disconnect by account name Disconnect-AzAccount -ContextName MyContextName # Disconnect by context name $context = Get-AzContext Disconnect-AzAccount -AzureContext $context # Disconnect using context object informationLa déconnexion supprime toujours les jetons d’authentification stockés et efface les contextes enregistrés associés à l’utilisateur ou au contexte déconnecté.
Utiliser
Clear-AzContext. Cette applet de commande supprime toujours les contextes stockés et les jetons d’authentification et vous déconnecte.Supprimez un contexte avec
Remove-AzContext:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context objectSi vous supprimez le contexte actif, vous êtes déconnecté d’Azure et devez réauthentifier avec
Connect-AzAccount.