Azure PowerShell bağlam nesneleri
Azure PowerShell, abonelik ve kimlik doğrulama bilgilerini tutmak için Azure PowerShell bağlam nesneleri (Azure bağlamları) kullanır. Birden çok aboneliğe erişiminiz varsa Azure bağlamları, Azure PowerShell cmdlet'lerini ç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 başlıklı bölüme 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 bir Azure buluta bağlanmak için gereken kimlik doğrulama bilgileridir. Azure bağlamları ile Azure PowerShell'in abonelikleri her değiştirdiğinizde hesabınızı yeniden doğrulaması gerekmez. Azure bağlamı şunlardan oluşur:
-
hesabı
Connect-AzAccount
ile Azure'da oturum açmak için kullanılan. Azure bağlamları, hesap açısından kullanıcılara, uygulama kimliklerine ve hizmet sorumlularına aynı şekilde davranır. - Etkin aboneliği, kiracıile ilişkili Azure kaynaklarını oluşturmak ve çalıştırmak için Microsoft ile yapılan bir hizmet sözleşmesidir. Kiracılar genellikle kuruluşlar olarak belgelerde veya Microsoft Entra ile çalışırken adlandırılır.
- Azure bulutuna erişim için depolanan kimlik doğrulama belirteci içerenbelirteci önbelleğine referans. 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 Terminolojisi. 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ı alma
Azure için mevcut bağlamlar, Get-AzContext
cmdlet'i kullanılarak alınır.
ListAvailable parametresiyle kullanılabilir bağlamları listeleyin:
Get-AzContext -ListAvailable
Veya ada göre 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 varsayılan olarak görüntülenmeyen Name özelliğinin değerini kullanın.
Get-AzContext -ListAvailable | Select-Object -Property *
Önemli
Kullanılabilir Azure bağlamları her zaman kullanılabilir abonelikleriniz değildir. Azure bağlamları yalnızca yerel olarak depolanan bilgileri temsil eder. aboneliklerinizi Get-AzSubscription
cmdlet'iyle 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'i, Get-AzSubscription
çıkış nesnesini aktarılan değer olarak alacak ve yeni bir Azure bağlamı yapılandırmak üzere 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
Adı parametresi atlanırsa, Subscription Name (subscription-id)
biçiminde 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.
yeni bir Azure bağlamı oluşturma kısmında açıklandığı gibi, Set-AzContext
mevcut değilse bir abonelik için yeni bir Azure bağlamı oluşturur ve daha sonra etkin bağlamı ona geçirir.
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 boru 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'deki diğer birçok hesap ve bağlam yönetimi komutu gibi Set-AzContext
ve Select-AzContext
de bağlamın ne kadar süre etkin olduğunu denetleyebilmeniz için Kapsamı parametresini destekler.
Kapsam, varsayılanı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'leriyle 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ını kaydetme
Varsayılan olarak, Azure bağlamları PowerShell oturumları arasında kullanılmak üzere kaydedilir. Bu davranışı aşağıdaki yollarla değiştirebilirsiniz:
Connect-AzAccount
ile-Scope Process
kullanarak oturum açın.Connect-AzAccount -Scope Process
Bu oturum açma işleminin bir parçası olarak döndürülen Azure bağlamı yalnızca geçerli oturum için geçerlidir ve Azure PowerShell bağlamı otomatik kaydetme ayarından bağımsız olarak otomatik olarak kaydedilmez.
Disable-AzContextAutosave
cmdlet'iyle Azure PowerShell'de 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 kaldırma.Azure bağlamı otomatik kaydetmeyi açıkça etkinleştir seçeneği
Enable-AzContextAutosave
cmdlet'iyle etkinleştirilebilir. Otomatik kaydetme etkinleştirildiğinde, kullanıcının bağlamları sonraki PowerShell oturumları için yerel olarak depolanır.Save-AzContext
ile bağlamları el ile kaydedin, böylece bu bağlamlar sonraki PowerShell oturumlarındaImport-AzContext
ile yüklenmek üzere kullanılabilir.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
Uyarı
Bağlam otomatik kaydetmeyi devre dışı bırakmak, kaydedilen hiçbir depolanmış bağlam bilgisini temizlemez. Depolanan bilgileri kaldırmak için Clear-AzContext
cmdlet'ini 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 Kapsamı parametresini destekler. Bu parametre yalnızca geçerli çalışan işleme uygulamak için Process
değerini alabilir. Ö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'taki $env:USERPROFILE\.Azure
dizininde depolanır ve diğer platformlarda $HOME/.Azure
. Abonelik kimlikleri ve kiracı kimlikleri gibi gizli bilgiler depolanmış bilgilerde, günlükler veya kaydedilmiş bağlamlar aracılığıyla da açığa çıkabilir. Depolanan bilgileri temizlemeyi öğrenmek için bkz. Azure bağlamlarını ve depolanan kimlik bilgilerini kaldırma.
Azure bağlamlarını ve depolanan kimlik bilgilerini kaldırma
Azure bağlamlarını ve kimlik bilgilerini temizlemek için:
Disconnect-AzAccount
ile hesabınızdan çıkış yapın. Herhangi bir hesabın oturumunu hesap detaylarına 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 information
Bağ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-AzContext
kullanın. Bu cmdlet her zaman depolanan bağlamları ve kimlik doğrulama belirteçlerini kaldırır ve oturum kapatmanızı sağlar.Remove-AzContext
ile bağlamı kaldırma:Remove-AzContext -Name MyContextName # Remove by name Get-AzContext -Name MyContextName | Remove-AzContext # Remove by piping an Azure context object
Etkin bağlamı kaldırırsanız Azure bağlantınız kesilir ve
Connect-AzAccount
ile yeniden kimlik doğrulaması yapmanız gerekir.
Ayrıca bkz.
- Connect-AzAccount
- Disconnect-AzAccount
- Get-AzContext
- Set-AzContext
- Save-AzContext
- Select-AzContext
- Import-AzContext
- Clear-AzContext
- AzContext'i Kaldır
- Enable-AzContextAutosave
- Disable-AzContextAutosave
- Get-AzSubscription
Azure PowerShell