Azure PowerShell-contextobjecten
Azure PowerShell maakt gebruik van Azure PowerShell-contextobjecten (Azure-contexten) voor het opslaan van abonnements- en verificatiegegevens. Als u toegang hebt tot meerdere abonnementen, kunt u met Azure-contexten het abonnement selecteren waarop Azure PowerShell-cmdlets moeten worden uitgevoerd. Azure-contexten worden ook gebruikt om aanmeldingsgegevens op te slaan in meerdere PowerShell-sessies en achtergrondtaken uit te voeren.
Dit artikel bevat informatie over het beheren van Azure-contexten, niet over het beheer van abonnementen of accounts. Als u gebruikers, abonnementen, tenants of andere accountgegevens wilt beheren, raadpleegt u de Microsoft Entra ID documentatie. Zie voor meer informatie over het gebruik van contexten voor het uitvoeren van achtergrondtaken of parallelle taken Azure PowerShell-cmdlets uitvoeren in PowerShell-taken nadat u bekend bent met Azure-contexten.
Overzicht van Azure-contextobjecten
Azure-contexten zijn PowerShell-objecten die uw actieve abonnement vertegenwoordigen om opdrachten uit te voeren voor en de verificatiegegevens die nodig zijn om verbinding te maken met een Azure-cloud. Met Azure-contexten hoeft Azure PowerShell uw account niet telkens opnieuw te verifiëren wanneer u van abonnement wisselt. Een Azure-context bestaat uit:
- Het -account dat is gebruikt om u met
Connect-AzAccount
aan te melden bij Azure. Azure-contexten behandelen gebruikers, toepassings-id's en service-principals hetzelfde vanuit een accountperspectief. - Het actieve -abonnement, een serviceovereenkomst met Microsoft voor het maken en uitvoeren van Azure-resources, die zijn gekoppeld aan een tenant. Tenants worden vaak aangeduid als organisaties in documentatie of bij het werken met Microsoft Entra.
- Een verwijzing naar een tokencache, een opgeslagen verificatietoken voor toegang tot een Azure-cloud. De instellingen voor automatisch opslaan van de context bepalen waar het token wordt opgeslagen en hoelang het blijft bestaan.
Zie Microsoft Entra-terminologievoor meer informatie over deze voorwaarden. Verificatietokens die door Azure-contexten worden gebruikt, zijn hetzelfde als andere opgeslagen tokens die deel uitmaken van een permanente sessie.
Wanneer u zich aanmeldt met Connect-AzAccount
, wordt ten minste één Azure-context gemaakt voor uw standaardabonnement. Het object dat door Connect-AzAccount
wordt geretourneerd, is de standaardContext van Azure die wordt gebruikt voor de rest van de PowerShell-sessie.
Azure-contexten ophalen
Beschikbare Azure-contexten worden opgehaald met de Get-AzContext
-cmdlet. Geef de beschikbare contexten weer met de parameter ListAvailable:
Get-AzContext -ListAvailable
Of haal een context op naam op:
Get-AzContext -Name MyContextName
Contextnamen kunnen afwijken van de naam van het gekoppelde abonnement. Als u de contextnaam wilt bepalen, gebruikt u de waarde van de eigenschap Name, die niet standaard wordt weergegeven.
Get-AzContext -ListAvailable | Select-Object -Property *
Belangrijk
De beschikbare Azure-contexten zijn niet altijd uw beschikbare abonnementen. Azure-contexten vertegenwoordigen alleen lokaal opgeslagen gegevens. U kunt uw abonnementen ophalen met de Get-AzSubscription
cmdlet.
Een nieuwe Azure-context maken op basis van abonnementsgegevens
De Set-AzContext
cmdlet wordt gebruikt om nieuwe Azure-contexten te maken en in te stellen als de actieve context. De eenvoudigste manier om een nieuwe Azure-context te maken, is door bestaande abonnementsgegevens te gebruiken. De cmdlet Set-AzContext
is ontworpen om het uitvoerobject van Get-AzSubscription
als een gesluisde waarde te gebruiken en een nieuwe Azure-context te configureren:
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Of geef indien nodig de abonnementsnaam of -id en de tenant-id op:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Als de parameter Namen wordt weggelaten, worden de naam en ID van het abonnement gebruikt als de contextnaam in de indeling Subscription Name (subscription-id)
.
De actieve Azure-context wijzigen
Zowel Set-AzContext
als Select-AzContext
kunnen worden gebruikt om de actieve Azure-context te wijzigen. Zoals beschreven in Een nieuwe Azure-context maken, maakt Set-AzContext
een nieuwe Azure-context voor een abonnement als deze niet bestaat en schakelt u vervolgens de actieve context over naar die.
Select-AzContext
is bedoeld om alleen te worden gebruikt met bestaande Azure-contexten en werkt vergelijkbaar met het gebruik van Set-AzContext -Context
, maar is ontworpen voor gebruik met piping:
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
Net als veel andere opdrachten voor account- en contextbeheer in Azure PowerShell bieden Set-AzContext
en Select-AzContext
ondersteuning voor de parameter Bereik, zodat u kunt bepalen hoelang de context actief is.
Bereik laat u de actieve context van één sessie wijzigen zonder uw standaardinstelling te veranderen.
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
Azure PowerShell-opdrachten met een AzContext- parameter kunnen worden uitgevoerd op basis van een bepaalde context om te voorkomen dat contexten worden overgeschakeld voor een volledige PowerShell-sessie:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Het andere primaire gebruik van contexten met Azure PowerShell-cmdlets is het uitvoeren van achtergrondopdrachten. Zie Azure PowerShell-cmdlets uitvoeren in PowerShell-takenvoor meer informatie over het uitvoeren van PowerShell-taken met behulp van Azure PowerShell.
Azure-contexten opslaan in PowerShell-sessies
Standaard worden Azure-contexten opgeslagen voor gebruik tussen PowerShell-sessies. U kunt dit gedrag op de volgende manieren wijzigen:
Meld u aan met
-Scope Process
metConnect-AzAccount
.Connect-AzAccount -Scope Process
De Azure-context die als onderdeel van deze aanmelding wordt geretourneerd, is alleen geldig voor de huidige sessie en wordt niet automatisch opgeslagen, ongeacht de instelling voor automatisch opslaan van de Azure PowerShell-context.
Schakel automatisch opslaan van context uit in Azure PowerShell met de
Disable-AzContextAutosave
-cmdlet. Als u automatisch opslaan van context uitschakelt, worden geen opgeslagen tokens gewist. Zie Azure-contexten en opgeslagen referenties verwijderenvoor meer informatie over het wissen van opgeslagen Azure-contextinformatie.Automatisch opslaan van Azure-context kan expliciet worden ingeschakeld met de cmdlet
Enable-AzContextAutosave
. Als automatisch opslaan is ingeschakeld, worden de contexten van een gebruiker lokaal opgeslagen voor latere PowerShell-sessies.Sla contexten handmatig op met
Save-AzContext
die in toekomstige PowerShell-sessies moeten worden gebruikt, waar ze kunnen worden geladen metImport-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
Waarschuwing
Als u het automatisch opslaan van context uitschakelt, worden geen opgeslagen contextgegevens gewist die zijn opgeslagen. Als u opgeslagen gegevens wilt verwijderen, gebruikt u de cmdlet Clear-AzContext
. Zie Azure-contexten en opgeslagen referenties verwijderenvoor meer informatie over het verwijderen van opgeslagen contexten.
Elk van deze opdrachten ondersteunt de parameter Bereik, die een waarde van Process
kan aannemen om alleen van toepassing te zijn op het huidige actieve proces. Als u er bijvoorbeeld voor wilt zorgen dat nieuw gemaakte contexten niet worden opgeslagen na het afsluiten van een PowerShell-sessie:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Contextinformatie en tokens worden opgeslagen in de map $env:USERPROFILE\.Azure
in Windows en $HOME/.Azure
op andere platforms. Gevoelige informatie, zoals abonnements-id's en tenant-id's, kan nog steeds worden weergegeven in opgeslagen gegevens, via logboeken of opgeslagen contexten. Om te leren hoe u opgeslagen informatie kunt wissen, zie Azure-contexten en opgeslagen referenties verwijderen.
Azure-contexten en opgeslagen referenties verwijderen
Om Azure-contexten en -referenties te wissen:
Meld u af van een account met
Disconnect-AzAccount
. U kunt zich afmelden door uw account of context te gebruiken.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 information
Als u de verbinding verbreekt, worden opgeslagen verificatietokens altijd verwijderd en worden opgeslagen contexten gewist die zijn gekoppeld aan de niet-verbonden gebruiker of context.
Gebruik
Clear-AzContext
. Met deze cmdlet worden altijd opgeslagen contexten en verificatietokens verwijderd en wordt u afgemeld.Een context verwijderen met
Remove-AzContext
:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context object
Als u de actieve context verwijdert, wordt de verbinding met Azure verbroken en moet u zich opnieuw verifiëren met
Connect-AzAccount
.
Zie ook
Azure PowerShell