Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure PowerShell utilise des objets de contexte Azure PowerShell (contextes Azure) pour contenir les informations d’abonnement et d’authentification. Si vous avez accès à plusieurs abonnements, les contextes Azure vous permettent de sélectionner l’abonnement pour exécuter des cmdlets Azure PowerShell. Azure contextes 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 les applets de commande Azure PowerShell dans PowerShell Jobs après avoir été familiarisé avec les contextes Azure.
Vue d’ensemble des objets de contexte Azure
Azure contextes 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 Azure contextes, 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 :
- Le account utilisé pour se connecter à Azure avec
Connect-AzAccount. Les contextes Azure traitent les utilisateurs, les ID d'application et les principaux de service de la même manière du point de vue d'un compte. - L'subscription active, un contrat de service avec Microsoft pour créer et exécuter des ressources Azure associées à un tenant. Les locataires sont souvent appelés organisations dans la documentation ou lors de l’utilisation de Microsoft Entra.
- Référence à un cache token, un 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 Microsoft Entra terminologie. Les jetons d’authentification utilisés par Azure contextes sont identiques aux autres jetons stockés qui font partie d’une session permanente.
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 de Azure par défaut utilisé pour le reste de la session PowerShell.
Obtenir des contextes Azure
Les contextes de Azure disponibles sont récupérés avec l’applet de commande Get-AzContext. Répertoriez les contextes disponibles avec le paramètre ListAvailable :
Get-AzContext -ListAvailable
Ou obtenir un contexte en utilisant son 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 de Azure disponibles ne sont pas toujours vos abonnements disponibles. Azure contextes représentent uniquement les informations stockées localement. Vous pouvez obtenir vos abonnements avec l’applet de commande.
Créer un contexte de Azure à partir d’informations d’abonnement
L’applet de commande Set-AzContext 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 de Azure consiste à utiliser les informations d’abonnement existantes. L’applet de commande Set-AzContext est conçue pour prendre l’objet de sortie de Get-AzSubscription comme 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 .
Modifier le contexte de Azure actif
Les deux Set-AzContext et Select-AzContext peuvent être utilisés pour modifier le contexte de Azure actif. Comme décrit dans Créer un nouveau contexte de 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 de Azure existants et fonctionne de la même façon que l’utilisation de 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 de nombreuses autres commandes de gestion de compte et de contexte dans Azure PowerShell, Set-AzContext et Select-AzContext prennent 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 dans 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 de Azure PowerShell, consultez Exécuter les applets de commande Azure PowerShell dans PowerShell Jobs.
Conserver les contextes Azure pour les sessions PowerShell
Par défaut, Azure contextes 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 .
Connect-AzAccount -Scope ProcessLe contexte Azure retourné dans le cadre de cette connexion est valide pour la session actuelle only 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 commande
Disable-AzContextAutosave. La désactivation de l’enregistrement automatique du contexte n’efface aucun jeton stocké. Pour savoir comment effacer les informations de contexte stockées Azure, consultez Remove Azure contextes et informations d’identification stockées.Pour activer explicitement l’enregistrement automatique du contexte Azure, utilisez l’applet de commande
Enable-AzContextAutosave. 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 à utiliser dans les futures sessions PowerShell, où ils peuvent être chargés avec :
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 commande. Pour plus d’informations sur la suppression de contextes enregistrés, consultez Supprimer les contextes Azure et les identifiants stockés.
Chacune de ces commandes prend en charge le paramètre Scope , qui peut prendre une valeur de 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 répertoire $env:USERPROFILE\.Azure 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 Remove Azure contextes et informations d’identification stockées.
Supprimer Azure contextes et informations d’identification stockées
Pour effacer les contextes Azure et les informations d’identification :
Déconnectez-vous d’un compte avec . 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é.
Utilisez . 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 -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é de Azure et devez réauthentifier avec
Connect-AzAccount.
Voir aussi
- Connect-AzAccount
- Disconnect-AzAccount
- Get-AzContext
- Set-AzContext
- Save-AzContext
- Select-AzContext
- Import-AzContext
- Clear-AzContext
- Remove-AzContext
- Enable-AzContextAutosave
- Disable-AzContextAutosave
- Get-AzSubscription