Delen via


Azure PowerShell-contextobjecten

Azure PowerShell gebruikt 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 het beheer van abonnementen of accounts. Als u gebruikers, abonnementen, tenants of andere accountgegevens wilt beheren, raadpleegt u de documentatie Microsoft Entra ID. Raadpleeg Azure PowerShell-opdrachten uitvoeren in PowerShell-taken voor meer informatie over het gebruik van contexten voor het uitvoeren van achtergrond- of parallelle 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 op 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:

  • De account die is gebruikt om u aan te melden bij Azure met Connect-AzAccount. Azure contexten behandelen gebruikers, toepassings-id's en service-principals hetzelfde vanuit een accountperspectief.
  • De actieve subscription, een serviceovereenkomst met Microsoft voor het maken en uitvoeren van Azure resources die zijn gekoppeld aan een tenant. Tenants worden vaak organizations genoemd 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 hoe lang het blijft bestaan.

Zie Microsoft Entra Terminologie voor meer informatie over deze voorwaarden. Verificatietokens die worden gebruikt door Azure contexten 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 wordt geretourneerd door Connect-AzAccount is de standaardcontext Azure die wordt gebruikt voor de rest van de PowerShell-sessie.

Contexten voor Azure ophalen

Beschikbare Azure contexten worden opgehaald met de cmdlet Get-AzContext. 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 Naam , 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 cmdlet.

Een nieuwe Azure context maken op basis van abonnementsgegevens

De cmdlet Set-AzContext 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 piped-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 Name wordt weggelaten, worden de naam en id van het abonnement gebruikt als de contextnaam in de indeling .

De actieve Azure-context wijzigen

Zowel Set-AzContext als Select-AzContext kan worden gebruikt om de actieve Azure context te wijzigen. Zoals beschreven in Maak een nieuwe Azure-context, maakt Set-AzContext een nieuwe Azure-context voor een abonnement als er nog geen bestaat en schakelt daarna over naar deze actieve context.

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 leidingen:

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, ondersteunen Set-AzContext en Select-AzContext de parameter Scope, zodat u kunt bepalen hoe lang de context actief is. Met scope kunt u de actieve context van een enkele sessie wijzigen zonder uw standaardinstelling te wijzigen.

Get-AzContext -Name MyContextName | Select-AzContext -Scope Process

Om te voorkomen dat contexten worden overgeschakeld voor een volledige PowerShell-sessie, kunnen Azure PowerShell opdrachten met een AzContext parameter worden uitgevoerd op een bepaalde context:

$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 Run Azure PowerShell cmdlets in PowerShell Jobs voor 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 .

    Connect-AzAccount -Scope Process
    

    De Azure context die als onderdeel van deze aanmelding wordt geretourneerd, is geldig voor de huidige sessie only en worden niet automatisch opgeslagen, ongeacht de instelling voor automatisch opslaan van Azure PowerShell context.

  • Schakel automatisch opslaan van context uit in Azure PowerShell met de cmdlet Disable-AzContextAutosave. Als u automatisch opslaan van context uitschakelt, worden geen opgeslagen tokens gewist. Zie Verwijderen Azure contexten en opgeslagen referenties voor meer informatie over het wissen van opgeslagen Azure contextinformatie.

  • De cmdlet Enable-AzContextAutosave kan worden gebruikt om het automatisch opslaan van Azure-context expliciet in te schakelen. Als automatisch opslaan is ingeschakeld, worden de contexten van een gebruiker lokaal opgeslagen voor latere PowerShell-sessies.

  • Sla contexten handmatig op om te gebruiken in de toekomstige PowerShell-sessies, waar ze kunnen worden geladen met :

    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. Gebruik de cmdlet om opgeslagen gegevens te verwijderen. Zie Verwijderen Azure contexten en opgeslagen referenties voor meer informatie over het verwijderen van opgeslagen contexten.

Elk van deze opdrachten ondersteunt de bereikparameter , die alleen van toepassing kan 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 op 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. Zie Verwijderen Azure contexten en opgeslagen referenties voor meer informatie over het wissen van opgeslagen gegevens.

Azure contexten en opgeslagen referenties verwijderen

Voer de volgende stappen uit om Azure-contexten en referenties te wissen:

  • Meld u af bij een account met . U kunt zich afmelden bij elk account of elke context:

    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 . Met deze cmdlet worden altijd opgeslagen contexten en verificatietokens verwijderd en meldt u af.

  • Een context verwijderen met :

    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

  • Connect-AzAccount
  • Disconnect-AzAccount
  • Get-AzContext
  • Set-AzContext
  • Save-AzContext
  • Select-AzContext
  • Import-AzContext
  • Clear-AzContext
  • Remove-AzContext
  • Enable-AzContextAutosave
  • Disable-AzContextAutosave
  • Get-AzSubscription