Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure PowerShell verwendet Azure PowerShell-Kontextobjekte (Azure-Kontexte), um Abonnement- und Authentifizierungsinformationen zu speichern. Wenn Sie Zugriff auf mehrere Abonnements haben, können Sie in Azure-Kontexten das Abonnement auswählen, auf dem Azure PowerShell-Cmdlets ausgeführt werden sollen. Azure-Kontexte werden auch verwendet, um Anmeldeinformationen in mehreren PowerShell-Sitzungen zu speichern und Hintergrundaufgaben auszuführen.
In diesem Artikel wird die Verwaltung von Azure-Kontexten behandelt, nicht die Verwaltung von Abonnements oder Konten. Wenn Sie Benutzer, Abonnements, Mandanten oder andere Kontoinformationen verwalten möchten, lesen Sie die Dokumentation zur Microsoft Entra-ID . Informationen zum Verwenden von Kontexten zum Ausführen von Hintergrund- oder parallelen Aufgaben finden Sie unter Ausführen von Azure PowerShell-Cmdlets in PowerShell-Aufträgen , nachdem Sie sich mit Azure-Kontexten vertraut machen.
Übersicht über Azure-Kontextobjekte
Azure-Kontexte sind PowerShell-Objekte, die Ihr aktives Abonnement zum Ausführen von Befehlen darstellen, und die Authentifizierungsinformationen, die zum Herstellen einer Verbindung mit einer Azure-Cloud erforderlich sind. Bei Azure-Kontexten muss Azure PowerShell Ihr Konto nicht jedes Mal erneut authentifizieren, wenn Sie Abonnements wechseln. Ein Azure-Kontext besteht aus:
- Das Konto, das zum Anmelden bei Azure verwendet wurde
Connect-AzAccount
. Azure-Kontexte behandeln Benutzer, Anwendungs-IDs und Dienstprinzipale aus Kontosicht gleich. - Das aktive Abonnement, ein Servicevertrag mit Microsoft zum Erstellen und Ausführen von Azure-Ressourcen, die einem Mandanten zugeordnet sind. Mandanten werden in der Dokumentation oder im Zusammenhang mit Microsoft Entra häufig als Organisationen bezeichnet.
- Ein Verweis auf einen Tokencache, ein gespeichertes Authentifizierungstoken für den Zugriff auf eine Azure-Cloud. Die Einstellungen für das automatische Speichern des Kontexts bestimmen, wo das Token gespeichert wird und wie lange es beibehalten wird.
Weitere Informationen zu diesen Begriffen finden Sie unter Microsoft Entra-Terminologie. Authentifizierungstoken, die von Azure-Kontexten verwendet werden, sind identisch mit anderen gespeicherten Token, die Teil einer persistenten Sitzung sind.
Wenn Sie sich mit Connect-AzAccount
anmelden, wird mindestens ein Azure-Kontext für Ihr Standardabonnement erstellt. Das zurückgegebene Connect-AzAccount
Objekt ist der standardmäßige Azure-Kontext, der für die restliche PowerShell-Sitzung verwendet wird.
Abrufen von Azure-Kontexten
Verfügbare Azure-Kontexte werden mit dem Get-AzContext
Cmdlet abgerufen. Auflisten der verfügbaren Kontexte mit dem Parameter ListAvailable :
Get-AzContext -ListAvailable
Oder rufen Sie einen Kontext anhand des Namens ab:
Get-AzContext -Name MyContextName
Kontextnamen unterscheiden sich möglicherweise vom Namen des zugehörigen Abonnements. Um den Kontextnamen zu ermitteln, verwenden Sie den Wert der Name-Eigenschaft , die standardmäßig nicht angezeigt wird.
Get-AzContext -ListAvailable | Select-Object -Property *
Von Bedeutung
Die verfügbaren Azure-Kontexte sind nicht immer Ihre verfügbaren Abonnements. Azure-Kontexte stellen nur lokal gespeicherte Informationen dar. Sie können Ihre Abonnements mit dem Get-AzSubscription
Cmdlet abrufen.
Erstellen eines neuen Azure-Kontexts anhand von Abonnementinformationen
Das Set-AzContext
Cmdlet wird verwendet, um neue Azure-Kontexte als aktiven Kontext zu erstellen und festzulegen. Die einfachste Möglichkeit zum Erstellen eines neuen Azure-Kontexts besteht darin, vorhandene Abonnementinformationen zu verwenden. Das Set-AzContext
Cmdlet dient dazu, das Ausgabeobjekt Get-AzSubscription
als weitergeleiteten Wert zu übernehmen und einen neuen Azure-Kontext zu konfigurieren:
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Oder geben Sie bei Bedarf den Namen oder die ID des Abonnements und die Mandanten-ID an:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Wenn der Parameter Name nicht angegeben wird, werden der Name und die ID des Abonnements als Kontextname im Format Subscription Name (subscription-id)
verwendet.
Ändern des aktiven Azure-Kontexts
Sowohl Set-AzContext
als auch Select-AzContext
können verwendet werden, um den aktiven Azure-Kontext zu ändern. erstellt wie unter Set-AzContext
beschrieben einen neuen Azure-Kontext für ein Abonnement, sofern noch keiner vorhanden ist, und wechselt dann zu diesem Kontext.
Select-AzContext
ist nur für die Verwendung mit vorhandenen Azure-Kontexten vorgesehen und funktioniert ähnlich wie Set-AzContext -Context
, ist aber für die Verwendung mit Piping konzipiert:
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
Wie viele andere Konto- und Kontextverwaltungsbefehle in Azure PowerShell unterstützen Set-AzContext
und Select-AzContext
den Scope-Parameter, damit Sie steuern können, wie lange der Kontext aktiv ist. Mithilfe von Scope können Sie den aktiven Kontext einer einzelnen Sitzung ändern, ohne den Standardkontext zu ändern:
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
Um den Wechsel von Kontexten für eine gesamte PowerShell-Sitzung zu vermeiden, können Azure PowerShell-Befehle mit einem AzContext-Parameter für einen bestimmten Kontext ausgeführt werden:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Die andere primäre Verwendung von Kontexten mit Azure PowerShell-Cmdlets besteht darin, Hintergrundbefehle auszuführen. Weitere Informationen zum Ausführen von PowerShell-Aufträgen mit Azure PowerShell finden Sie unter Ausführen von Azure PowerShell-Cmdlets in PowerShell-Aufträgen.
Speichern von Azure-Kontexten in PowerShell-Sitzungen
Azure-Kontexte werden standardmäßig für die Verwendung zwischen PowerShell-Sitzungen gespeichert. Sie können dieses Verhalten auf folgende Weise ändern:
Melden Sie sich mit
-Scope Process
undConnect-AzAccount
an.Connect-AzAccount -Scope Process
Der azure-Kontext, der als Teil dieser Anmeldung zurückgegeben wird, ist nur für die aktuelle Sitzung gültig und wird unabhängig von der Einstellung für das automatische Speichern von Azure PowerShell-Kontext nicht automatisch gespeichert.
Deaktivieren Sie das automatische Speichern von Kontexten in Azure PowerShell mit dem
Disable-AzContextAutosave
Cmdlet. Durch deaktivieren des automatischen Speicherns von Kontexten werden keine gespeicherten Token gelöscht. Informationen zum Löschen gespeicherter Azure-Kontextinformationen finden Sie unter Entfernen von Azure-Kontexten und gespeicherten Anmeldeinformationen.Die automatische Speicherung von Azure-Kontexten kann mithilfe des Cmdlets
Enable-AzContextAutosave
explizit aktiviert werden. Wenn das automatische Speichern aktiviert ist, werden die Kontexte eines Benutzers für spätere PowerShell-Sitzungen lokal gespeichert.Speichern Sie Kontexte manuell mit
Save-AzContext
, damit sie in zukünftigen PowerShell-Sitzungen verwendet und mitImport-AzContext
geladen werden können.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
Warnung
Durch deaktivieren des automatischen Speicherns von Kontexten werden keine gespeicherten Kontextinformationen gelöscht, die gespeichert wurden. Verwenden Sie das Clear-AzContext
Cmdlet, um gespeicherte Informationen zu entfernen. Weitere Informationen zum Entfernen gespeicherter Kontexte finden Sie unter Entfernen von Azure-Kontexten und gespeicherten Anmeldeinformationen.
Jeder dieser Befehle unterstützt den Scope-Parameter, der den Wert Process
annehmen kann, um nur auf den aktuell laufenden Prozess angewendet zu werden. Um beispielsweise sicherzustellen, dass neu erstellte Kontexte nach dem Beenden einer PowerShell-Sitzung nicht gespeichert werden:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Kontextinformationen und Token werden im $env:USERPROFILE\.Azure
Verzeichnis unter Windows und $HOME/.Azure
auf anderen Plattformen gespeichert. Vertrauliche Informationen wie Abonnement-IDs und Mandanten-IDs können weiterhin in gespeicherten Informationen, über Protokolle oder gespeicherte Kontexte verfügbar gemacht werden. Informationen zum Löschen gespeicherter Informationen finden Sie unter Entfernen von Azure-Kontexten und gespeicherten Anmeldeinformationen.
Entfernen von Azure-Kontexten und gespeicherten Anmeldeinformationen
So löschen Sie Azure-Kontexte und Anmeldeinformationen:
Melden Sie sich von einem Konto ab mit
Disconnect-AzAccount
. Sie können sich von jedem Konto entweder nach Konto oder Kontext abmelden: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
Durch die Trennung werden gespeicherte Authentifizierungstoken immer entfernt und gespeicherte Kontexte gelöscht, die dem getrennten Benutzer oder Kontext zugeordnet sind.
Verwenden Sie
Clear-AzContext
. Dieses Cmdlet entfernt immer gespeicherte Kontexte und Authentifizierungstoken und meldet Sie ab.Entfernen eines Kontexts mit
Remove-AzContext
:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context object
Wenn Sie den aktiven Kontext entfernen, werden Sie von Azure getrennt und müssen erneut authentifizieren mit
Connect-AzAccount
.
Siehe auch
Azure PowerShell