Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure PowerShell používá Azure PowerShell kontextové objekty (Azure kontexty) k uložení informací o předplatném a ověřování. Pokud máte přístup k více předplatným, Azure kontexty umožňují vybrat předplatné, ve kterých se mají spouštět Azure PowerShell rutiny. Azure kontexty se také používají k ukládání přihlašovacích informací napříč několika relacemi PowerShellu a spouštění úloh na pozadí.
Tento článek popisuje správu Azure kontextů, nikoli správy předplatných nebo účtů. Pokud chcete spravovat uživatele, předplatná, tenanty nebo jiné informace o účtu, přečtěte si dokumentaci k Microsoft Entra ID. Další informace o používání kontextů pro spouštění úloh na pozadí nebo paralelních úlohách najdete v tématu Spuštění rutin Azure PowerShell v úlohách PowerShellu po seznámení s kontexty Azure.
Přehled kontextových objektů Azure
Azure kontexty jsou objekty PowerShellu představující vaše aktivní předplatné pro spouštění příkazů a ověřovací informace potřebné pro připojení k Azure cloudu. S kontexty Azure nemusí Azure PowerShell při každém přepnutí předplatných znovu ověřovat váš účet. Kontext Azure se skládá z:
- Účet použitý k přihlášení k Azure pomocí
Connect-AzAccount. Azure kontexty zachází s uživateli, ID aplikací a instančními objekty stejným způsobem z pohledu účtu. - Aktivní předplatné, smlouva o poskytování služeb s Microsoftem pro vytvoření a spuštění prostředků Azure, které jsou přidružené k nájemci. Tenanti se často označují jako organizace v dokumentaci nebo při práci s Microsoft Entra.
- Odkaz na mezipaměť token, uložený ověřovací token pro přístup ke Azure cloudu. Nastavení automatického ukládání kontextu určuje, kde je token uložený a jak dlouho přetrvává.
Další informace o těchto termínech najdete v tématu Microsoft Entra Terminologie. Ověřovací tokeny používané v kontextech Azure jsou stejné jako ostatní uložené tokeny, které jsou součástí trvalé relace.
Když se přihlásíte pomocí Connect-AzAccount, vytvoří se pro výchozí předplatné alespoň jeden kontext Azure. Objekt vrácený Connect-AzAccount představuje výchozí kontext Azure používaný po zbytek relace v PowerShellu.
Získej kontexty Azure
Dostupné kontexty Azure se načítají pomocí rutiny Get-AzContext. Uveďte dostupné kontexty pomocí parametru ListAvailable :
Get-AzContext -ListAvailable
Nebo získejte kontext podle názvu:
Get-AzContext -Name MyContextName
Názvy kontextu se můžou lišit od názvu přidruženého předplatného. Pokud chcete určit název kontextu, použijte hodnotu vlastnosti Name , která se ve výchozím nastavení nezobrazuje.
Get-AzContext -ListAvailable | Select-Object -Property *
Důležité
Dostupné kontexty Azure nejsou vždy vaše dostupná předplatná. Azure kontexty představují pouze místně uložené informace. K získání předplatných můžete použít rutinu Get-AzSubscription .
Vytvoření nového kontextu Azure z informací o předplatném
Rutina Set-AzContext slouží k vytvoření a nastavení nových kontextů Azure jako aktivního kontextu. Nejjednodušší způsob, jak vytvořit nový kontext Azure, je použít existující informace o předplatném. Rutina Set-AzContext je navržena tak, aby přijímala výstupní objekt z Get-AzSubscription jako předanou hodnotu a nakonfigurovala nový kontext Azure.
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Nebo v případě potřeby zadejte název nebo ID předplatného a ID tenanta:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Pokud parametr Name vynecháte, název a ID předplatného se použijí jako název kontextu ve formátu Subscription Name (subscription-id).
Změna aktivního kontextu Azure
K změně aktivního kontextu Azure lze použít Set-AzContext i Select-AzContext. Jak je popsáno v Vytváření nového kontextu AzureSet-AzContext vytvoří nový kontext Azure pro předplatné, pokud neexistuje, a pak přepne aktivní kontext na toto.
Select-AzContext je určena pouze s existujícími kontexty Azure a funguje podobně jako při použití Set-AzContext -Context, ale je určená pro použití s potrubím:
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
Stejně jako mnoho dalších příkazů pro správu účtů a kontextů v Azure PowerShell podporují parametr Set-AzContext a Select-AzContextScope, abyste mohli určit, jak dlouho je kontext aktivní.
Obor umožňuje změnit aktivní kontext jedné relace beze změny výchozího nastavení:
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
Pokud se chcete vyhnout přepínání kontextů pro celé sezení PowerShellu, můžete příkazy Azure PowerShell s parametrem AzContext spustit v konkrétním kontextu:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Dalším primárním použitím kontextů s rutinami Azure PowerShell je spouštění příkazů na pozadí. Další informace o spouštění úloh PowerShellu pomocí Azure PowerShell najdete v tématu Spuštění rutin Azure PowerShell v úlohách PowerShellu.
Ukládání kontextů Azure napříč relacemi PowerShellu
Ve výchozím nastavení se kontexty Azure ukládají pro použití mezi relacemi PowerShellu. Toto chování můžete změnit následujícími způsoby:
Přihlaste se pomocí
-Scope ProcesssConnect-AzAccount.Connect-AzAccount -Scope ProcessKontext Azure vrácený jako součást tohoto přihlášení je platný pro aktuální relaci pouze a se neukládá automaticky bez ohledu na automatické ukládání kontextu v Azure PowerShellu.
Pomocí rutiny
Disable-AzContextAutosavezakažte automatické ukládání kontextu v Azure PowerShell. Zakázání automatického ukládání kontextu nevymaže žádné uložené tokeny. Podívejte se na Remove Azure contexts and stored credentials pro informace o vymazání uložených kontextových informací a přihlašovacích údajů v Azure.Povolte automatické ukládání kontextu Azure pomocí rutiny
Enable-AzContextAutosaveexplicitně. S povoleným automatickým ukládáním se kontexty uživatele ukládají místně pro pozdější relace PowerShellu.Ručně uložte kontexty s
Save-AzContext, které se použijí v budoucích relacích PowerShellu, kde je můžete načíst sImport-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
Výstraha
Zakázání automatického ukládání kontextu nevymaže žádné uložené informace o kontextu, které byly uloženy. K odebrání uložených informací použijte rutinu Clear-AzContext . Další informace o odebrání uložených kontextů najdete v tématu Odstranit Azure kontexty a uložené přihlašovací údaje.
Každý z těchto příkazů podporuje parametr Scope , který může mít hodnotu Process , která se vztahuje pouze na aktuální spuštěný proces. Pokud chcete například zajistit, aby se po ukončení relace PowerShellu neuložily nově vytvořené kontexty:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Kontextové informace a tokeny se ukládají v adresáři $env:USERPROFILE\.Azure v adresáři Windows a $HOME/.Azure na jiných platformách. Citlivé informace, jako jsou ID předplatného a ID tenanta, se můžou dál zobrazovat v uložených informacích, prostřednictvím protokolů nebo uložených kontextů. Informace o vymazání uložených dat najdete v dokumentaci Remove Azure contexts and stored credentials.
Odebrání kontextů Azure a uložených přihlašovacích údajů
Vymazání Azure kontextů a přihlašovacích údajů:
Odhlaste se z účtu pomocí
Disconnect-AzAccount. Můžete se odhlásit z libovolného účtu podle účtu nebo kontextu: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 informationOdpojení vždy odebere uložené ověřovací tokeny a vymaže uložené kontexty přidružené k odpojeného uživatele nebo kontextu.
Použijte
Clear-AzContext. Tento cmdlet vždy odebere uložené kontexty a ověřovací tokeny a odhlásí vás.Odeberte kontext pomocí
Remove-AzContext:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context objectPokud odeberete aktivní kontext, odpojíte se od Azure a potřebujete znovu provést ověření pomocí
Connect-AzAccount.
Viz také
Azure PowerShell