Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure PowerShell använder Azure PowerShell-kontextobjekt (Azure-kontexter) för att lagra prenumerations- och autentiseringsinformation. Om du har åtkomst till flera prenumerationer kan du med Azure-kontexter välja vilken prenumeration du vill köra Azure PowerShell-cmdletar på. Azure-kontexter används också för att lagra inloggningsinformation över flera PowerShell-sessioner och köra bakgrundsuppgifter.
Den här artikeln beskriver hur du hanterar Azure-kontexter, inte hantering av prenumerationer eller konton. Om du vill hantera användare, prenumerationer, klientorganisationer eller annan kontoinformation kan du läsa dokumentationen om Microsoft Entra-ID . Mer information om hur du använder kontexter för att köra bakgrundsaktiviteter eller parallella uppgifter finns i Köra Azure PowerShell-cmdletar i PowerShell-jobb när du har bekantat dig med Azure-kontexter.
Översikt över Azure-kontextobjekt
Azure-kontexter är PowerShell-objekt som representerar din aktiva prenumeration för att köra kommandon mot och den autentiseringsinformation som krävs för att ansluta till ett Azure-moln. Med Azure-kontexter behöver Azure PowerShell inte autentisera ditt konto varje gång du byter prenumeration. En Azure-kontext består av:
- 
              Kontot som användes för att logga in på Azure med Connect-AzAccount. Azure-kontexter behandlar användare, program-ID:er och tjänstens huvudnamn på samma sätt ur ett kontoperspektiv.
- Den aktiva prenumerationen, ett tjänstavtal med Microsoft för att skapa och köra Azure-resurser, som är associerade med en klientorganisation. Klienter kallas ofta organisationer i dokumentationen eller när de arbetar med Microsoft Entra.
- En referens till en tokencache, en lagrad autentiseringstoken för åtkomst till ett Azure-moln. Inställningarna för sparande av kontext automatiskt avgör var token lagras och hur länge den bevaras.
Mer information om dessa termer finns i Microsoft Entra-terminologi. Autentiseringstoken som används av Azure-kontexter är samma som andra lagrade token som ingår i en beständig session.
När du loggar in med Connect-AzAccountskapas minst en Azure-kontext för din standardprenumeration. Objektet som returneras av Connect-AzAccount är standardkontexten för Azure som används för resten av PowerShell-sessionen.
Hämta Azure-kontexter
Tillgängliga Azure-kontexter hämtas med cmdleten Get-AzContext . Visa en lista över tillgängliga kontexter med parametern ListAvailable :
Get-AzContext -ListAvailable
Eller hämta en kontext efter namn:
Get-AzContext -Name MyContextName
Kontextnamn kan skilja sig från namnet på den associerade prenumerationen. För att fastställa kontextnamnet använder du värdet för egenskapen Namn , som inte visas som standard.
Get-AzContext -ListAvailable | Select-Object -Property *
Viktigt!
Tillgängliga Azure-kontexter är inte alltid dina tillgängliga prenumerationer. Azure-kontexter representerar endast lokalt lagrad information. Du kan hämta dina prenumerationer med cmdleten Get-AzSubscription .
Skapa en ny Azure-kontext från prenumerationsinformation
Cmdleten Set-AzContext används för att skapa och ange nya Azure-kontexter som aktiv kontext. Det enklaste sättet att skapa en ny Azure-kontext är att använda befintlig prenumerationsinformation. Cmdleten Set-AzContext är utformad för att ta utdataobjektet från Get-AzSubscription som ett piped-värde och konfigurera en ny Azure-kontext:
Get-AzSubscription -SubscriptionName MySubscriptionName |
  Set-AzContext -Name MyContextName
Eller ange prenumerationsnamnet eller ID:t och klientorganisations-ID:t om det behövs:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Om parametern Namn utelämnas används prenumerationens namn och ID som kontextnamn i formatet Subscription Name (subscription-id).
Ändra den aktiva Azure-kontexten
Både Set-AzContext och Select-AzContext kan användas för att ändra den aktiva Azure-kontexten. Som beskrivs i Skapa en ny Azure-kontextSet-AzContext skapar du en ny Azure-kontext för en prenumeration om den inte finns och växlar sedan den aktiva kontexten till den.
              Select-AzContext är avsedd att endast användas med befintliga Azure-kontexter och fungerar på samma sätt som med , Set-AzContext -Contextmen är utformad för användning med rörledningar:
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
Liksom många andra konto- och kontexthanteringskommandon i Azure PowerShell Set-AzContext och Select-AzContext stöder parametern Omfång så att du kan styra hur länge kontexten är aktiv. 
              Med omfång kan du ändra en enskild sessions aktiva kontext utan att ändra standardinställningen:
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
För att undvika att växla kontexter för en hel PowerShell-session kan Azure PowerShell-kommandon med en AzContext-parameter köras mot en viss kontext:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Den andra primära användningen av kontexter med Azure PowerShell-cmdletar är att köra bakgrundskommandon. Mer information om hur du kör PowerShell-jobb med Azure PowerShell finns i Köra Azure PowerShell-cmdletar i PowerShell-jobb.
Spara Azure-kontexter mellan PowerShell-sessioner
Som standard sparas Azure-kontexter för användning mellan PowerShell-sessioner. Du kan ändra det här beteendet på följande sätt:
- Logga in med - -Scope Process- Connect-AzAccount.- Connect-AzAccount -Scope Process- Azure-kontexten som returneras som en del av den här inloggningen är endast giltig för den aktuella sessionen och sparas inte automatiskt, oavsett inställningen Spara automatiskt i Azure PowerShell-kontexten. 
- Inaktivera kontextspara automatiskt i Azure PowerShell med cmdleten - Disable-AzContextAutosave. Om du inaktiverar automatiskt sparande av kontext rensas inga lagrade token. Information om hur du rensar lagrad Azure-kontextinformation finns i Ta bort Azure-kontexter och lagrade autentiseringsuppgifter.
- Uttryckligen aktivera automatisk sparande av Azure-kontext kan aktiveras med cmdleten - Enable-AzContextAutosave. När spara automatiskt är aktiverat lagras en användares kontexter lokalt för senare PowerShell-sessioner.
- Spara kontexter manuellt med - Save-AzContextsom ska användas i framtida PowerShell-sessioner, där de kan läsas in med- Import-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
Varning
Om du inaktiverar automatiskt sparande av kontext rensas ingen lagrad kontextinformation som har sparats. Om du vill ta bort lagrad information använder du cmdleten Clear-AzContext . Mer information om hur du tar bort sparade kontexter finns i Ta bort Azure-kontexter och lagrade autentiseringsuppgifter.
Vart och ett av dessa kommandon stöder parametern Omfång , som kan ta ett värde av Process för att endast gälla för den aktuella körningsprocessen. Till exempel för att säkerställa att nyligen skapade kontexter inte sparas efter att en PowerShell-session har avslutats:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Kontextinformation och token lagras i $env:USERPROFILE\.Azure katalogen i Windows och $HOME/.Azure på andra plattformar. Känslig information som prenumerations-ID:t och klient-ID:t kan fortfarande exponeras i lagrad information, via loggar eller sparade kontexter. Information om hur du rensar lagrad information finns i Ta bort Azure-kontexter och lagrade autentiseringsuppgifter.
Ta bort Azure-kontexter och lagrade autentiseringsuppgifter
Så här rensar du Azure-kontexter och autentiseringsuppgifter:
- Logga ut från ett konto med - Disconnect-AzAccount. Du kan logga ut från ett konto antingen efter konto eller kontext:- 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- Frånkoppling tar alltid bort lagrade autentiseringstoken och rensar sparade kontexter som är associerade med den frånkopplade användaren eller kontexten. 
- Använd - Clear-AzContext. Den här cmdleten tar alltid bort lagrade kontexter och autentiseringstoken och loggar ut dig.
- Ta bort en kontext med - Remove-AzContext:- Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context object- Om du tar bort den aktiva kontexten är du frånkopplad från Azure och måste autentisera igen med - Connect-AzAccount.
Se även
Azure PowerShell