Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure PowerShell abonelik ve kimlik doğrulama bilgilerini tutmak için Azure PowerShell bağlam nesnelerini (Azure bağlamları) kullanır. Birden çok aboneliğe erişiminiz varsa, Azure bağlamlar Azure PowerShell cmdlet'leri çalıştırmak için aboneliği seçmenize olanak sağlar. Azure bağlamları, oturum açma bilgilerini birden çok PowerShell oturumunda depolamak ve arka plan görevlerini çalıştırmak için de kullanılır.
Bu makale, aboneliklerin veya hesapların yönetimini değil Azure bağlamlarını yönetmeyi kapsar. Kullanıcıları, abonelikleri, kiracıları veya diğer hesap bilgilerini yönetmek istiyorsanız Microsoft Entra ID belgelerine bakın. Arka plan veya paralel görevleri çalıştırmak için bağlamları kullanma hakkında bilgi edinmek için, Azure bağlamlarını öğrendikten sonra PowerShell İşlerinde Azure PowerShell cmdlet'lerini çalıştırma konusuna bakın.
Azure bağlam nesnelerine genel bakış
Azure bağlamlar, komutları çalıştırmak için etkin aboneliğinizi temsil eden PowerShell nesneleri ve Azure buluta bağlanmak için gereken kimlik doğrulama bilgileridir. Azure bağlamlarla, Azure PowerShell abonelikleri her değiştirdiğinizde hesabınızı yeniden kimlik doğrulaması yapmanız gerekmez. Azure bağlamı şunlardan oluşur:
- Azure'a oturum açmak için kullanılan hesap
Connect-AzAccount. Azure bağlamları kullanıcılara, uygulama kimliklerine ve hizmet sorumlularına hesap açısından aynı şekilde davranır. - Etkin abonelik, kiracı ile ilişkili Azure kaynakları oluşturmak ve çalıştırmak amacıyla Microsoft ile yapılan bir hizmet sözleşmesidir. Kiracılar genellikle belgelerde veya Microsoft Entra ile çalışırken organizations olarak adlandırılır.
- belirteç önbelleği, Azure buluta erişmek için kullanılan depolanmış bir kimlik doğrulama belirtecine yapılan bir başvuru. Bağlam otomatik kaydetme ayarları belirtecin nerede depolandığını ve ne kadar süre kalıcı olduğunu belirler.
Bu terimler hakkında daha fazla bilgi için bkz. Microsoft Entra Terminoloji. Azure bağlamları tarafından kullanılan kimlik doğrulama belirteçleri, kalıcı bir oturumun parçası olan diğer depolanmış belirteçlerle aynıdır.
Connect-AzAccount ile oturum açtığınızda, varsayılan aboneliğiniz için en az bir Azure bağlamı oluşturulur.
Connect-AzAccount tarafından döndürülen nesne, PowerShell oturumunun geri kalanı için kullanılan varsayılan Azure bağlamıdır.
Azure bağlamlarını alın
Kullanılabilir Azure bağlamları Get-AzContext cmdlet'iyle alınır.
ListAvailable parametresiyle kullanılabilir bağlamları listeleyin:
Get-AzContext -ListAvailable
Veya isimle bir bağlam elde edin.
Get-AzContext -Name MyContextName
Bağlam adları ilişkili aboneliğin adından farklı olabilir. Bağlam adını belirlemek için Name özelliğinin varsayılan olarak görüntülenmeyen değerini kullanın.
Get-AzContext -ListAvailable | Select-Object -Property *
Important
Azure bağlamları her zaman aboneliklerinizle örtüşmeyebilir. Azure bağlamları yalnızca yerel olarak depolanan bilgileri temsil eder. Cmdlet Get-AzSubscription kullanarak aboneliklerinizi alabilirsiniz.
Abonelik bilgilerinden yeni bir Azure bağlamı oluşturma
Set-AzContext cmdlet'i, etkin bağlam olarak yeni Azure bağlamları oluşturmak ve ayarlamak için kullanılır. Yeni bir Azure bağlamı oluşturmanın en kolay yolu mevcut abonelik bilgilerini kullanmaktır.
Set-AzContext cmdlet, Get-AzSubscription çıkış nesnesini borulandırılmış değer olarak alacak ve yeni bir Azure bağlamı yapılandıracak şekilde tasarlanmıştır:
Get-AzSubscription -SubscriptionName MySubscriptionName |
Set-AzContext -Name MyContextName
Gerekirse abonelik adını veya kimliğini ve kiracı kimliğini de belirtebilirsiniz:
Set-AzContext -Name MyContextName -Subscription MySubscriptionName -Tenant 00000000-0000-0000-0000-000000000000
Name parametresi atlanırsa, biçiminde Subscription Name (subscription-id)bağlam adı olarak aboneliğin adı ve kimliği kullanılır.
Etkin Azure bağlamını değiştirme
Etkin Azure bağlamını değiştirmek için hem Set-AzContext hem de Select-AzContext kullanılabilir.
Select-AzContext yalnızca mevcut Azure bağlamlarıyla kullanılmak üzere tasarlanmıştır ve Set-AzContext -Context kullanımına benzer şekilde çalışır, ancak piping ile kullanılmak üzere tasarlanmıştır:
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
Azure PowerShell'daki diğer birçok hesap ve bağlam yönetimi komutu gibi Set-AzContext ve Select-AzContextScope parametresini destekler; böylece bağlamın ne kadar süre etkin olduğunu denetleyebilirsiniz.
Kapsam , varsayılan ayarınızı değiştirmeden tek bir oturumun etkin bağlamını değiştirmenize olanak tanır:
Get-AzContext -Name MyContextName | Select-AzContext -Scope Process
PowerShell oturumlarının tamamında bağlamların değiştirilmesini önlemek için AzContext parametresine sahip Azure PowerShell komutları belirli bir bağlama göre çalıştırılabilir:
$context = Get-AzContext -Name MyContextName
New-AzVM -Name ExampleVM -AzContext $context
Azure PowerShell cmdlet'lerle bağlamların diğer birincil kullanımı arka plan komutlarını çalıştırmaktır. Azure PowerShell kullanarak PowerShell İşleri çalıştırma hakkında daha fazla bilgi edinmek için bkz. PowerShell İşleri'nde Azure PowerShell cmdlet'lerini çalıştırma.
PowerShell oturumlarında Azure bağlamları kaydetme
Varsayılan olarak, Azure bağlamları PowerShell oturumları arasında kullanılmak üzere kaydedilir. Bu davranışı aşağıdaki yollarla değiştirebilirsiniz:
-Scope ProcessveConnect-AzAccountile oturum açın.Connect-AzAccount -Scope ProcessBu oturum açma işleminin bir parçası olarak döndürülen Azure bağlamı, sadece geçerli oturum içindir ve Azure PowerShell bağlam otomatik kaydetme ayarından bağımsız olarak otomatik olarak kaydedilmemektedir.
Disable-AzContextAutosavecmdlet'iyle Azure PowerShell bağlam otomatik kaydetmeyi devre dışı bırakın. Bağlam otomatik kaydetmeyi devre dışı bırakmak, depolanan belirteçleri temizlemez. Depolanan Azure bağlam bilgilerini temizlemeyi öğrenmek için bkz. Azure bağlamlarını ve depolanan kimlik bilgilerini kurtarma.Enable-AzContextAutosavecmdlet'iyle Azure bağlam otomatik kaydetmeyi açıkça etkinleştirebilirsiniz. Otomatik kaydetme etkinleştirildiğinde, kullanıcının bağlamları sonraki PowerShell oturumları için yerel olarak depolanır.Bağlamları el ile
Save-AzContextkaydederek gelecekte PowerShell oturumlarında kullanmak için saklayabilir veImport-AzContextile yükleyebilirsiniz.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
Warning
Bağlam otomatik kaydetmeyi devre dışı bırakmak, kaydedilen hiçbir depolanmış bağlam bilgisini temizlemez. Depolanan bilgileri kaldırmak için cmdlet'ini Clear-AzContext kullanın. Kaydedilen bağlamları kaldırma hakkında daha fazla bilgi için bkz. Azure bağlamlarını ve depolanan kimlik bilgilerini kaldırma.
Bu komutların her biri, yalnızca mevcut çalışan sürece uygulanacak olan değeri alabilen Process parametresini destekler. Örneğin, yeni oluşturulan bağlamların PowerShell oturumuna çıktıktan sonra kaydedilmediğinden emin olmak için:
Disable-AzContextAutosave -Scope Process
Set-AzContext -Subscription 'Subscription ID or Name' -Tenant 00000000-0000-0000-0000-000000000000
Bağlam bilgileri ve belirteçler Windows $env:USERPROFILE\.Azure dizininde ve diğer platformlarda $HOME/.Azure depolanır. Abonelik kimlikleri ve kiracı kimlikleri gibi hassas bilgiler, depolanan veriler, günlükler veya kaydedilmiş bağlamlar aracılığıyla hala ifşa olabilir. Depolanan bilgileri temizlemeyi öğrenmek için bkz. > Azure bağlamlarını ve depolanan kimlik bilgilerini kurtarma.
Azure bağlamlarını ve depolanan kimlik bilgilerini kaldırma
Azure bağlamlarını ve kimlik bilgilerini temizlemek için:
Disconnect-AzAccountile bir hesaptan çıkış yapın. Herhangi bir hesabın oturumunu hesaba veya bağlama göre kapatabilirsiniz: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 informationBağlantıyı kesmek her zaman depolanan kimlik doğrulama belirteçlerini kaldırır ve bağlantısı kesilmiş kullanıcı veya bağlamla ilişkili kaydedilmiş bağlamları temizler.
Clear-AzContextadresini kullanın. Bu cmdlet her zaman depolanan bağlamları ve kimlik doğrulama belirteçlerini kaldırır ve oturum kapatmanızı sağlar.Bir bağlamı
Remove-AzContextile kaldırın:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context objectEtkin bağlamı kaldırırsanız, Azure bağlantınız kesilir ve
Connect-AzAccountile yeniden kimlik doğrulaması yapmanız gerekir.
Ayrıca bakınız
Azure PowerShell