Azure PowerShell bağlam nesneleri
Azure PowerShell abonelik ve kimlik doğrulaması 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ı birden fazla PowerShell oturumunda oturum açma bilgilerini depolamak ve arka plan görevlerini çalıştırmak için de kullanılır.
Bu makalede aboneliklerin veya hesapların yönetimi değil Azure bağlamlarının yönetimi açıklanır. 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 bkz . Azure bağlamlarını öğrendikkten sonra PowerShell İşlerinde Azure PowerShell cmdlet'lerini çalıştırma.
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ıyla, Azure PowerShell'in her abonelik değiştirdiğinizde kimliğinizi yeniden doğrulaması gerekmez. Azure bağlamı şunlardan oluşur:
- ile
Connect-AzAccount
Azure'da oturum açmak için kullanılan hesap. Azure bağlamları, hesap açısından kullanıcıları, uygulama kimliklerini ve hizmet sorumlularını aynı şekilde değerlendirir. - Kiracı ile ilişkilendirilmiş Azure kaynaklarını oluşturmak ve çalıştırmak için Microsoft'la yapılan bir hizmet sözleşmesi olan etkin abonelik. Kiracılar genellikle belgelerde veya Microsoft Entra ile çalışırken kuruluşlar olarak adlandırılır.
- Azure bulutuna erişmek için depolanan kimlik doğrulama belirteci olan belirteç önbelleği başvurusu. 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 kalanında kullanılan varsayılan Azure bağlamıdır.
Azure bağlamlarını alma
Kullanılabilir Azure bağlamları cmdlet'iyle Get-AzContext
alınır. ListAvailable parametresiyle kullanılabilir bağlamları listeleyin :
Get-AzContext -ListAvailable
İsterseniz bağlamı adını belirterek de alabilirsiniz:
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 *
Önemli
Kullanılabilir Azure bağlamları her zaman sizin kullanılabilir abonelikleriniz olmayabilir. Azure bağlamları yalnızca yerel olarak depolanan bilgileri temsil eder. Aboneliklerinizi cmdlet'iyle Get-AzSubscription
alabilirsiniz.
Abonelik bilgilerinden yeni Azure bağlamı oluşturma
Set-AzContext
Cmdlet, yeni Azure bağlamlarını oluşturmak ve etkin bağlam olarak ayarlamak için kullanılır. Yeni Azure bağlamı oluşturmanın en kolay yolu mevcut abonelik bilgilerini kullanmaktır. Set-AzContext
cmdlet, çıkış nesnesini Get-AzSubscription
kanallı 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 verebilirsiniz:
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
Hem hem Select-AzContext
de Set-AzContext
etkin Azure bağlamını değiştirmek için kullanılabilir. Yeni Azure bağlamı oluşturma bölümünde açıklandığı gibi, Set-AzContext
yoksa abonelik için yeni bir Azure bağlamı oluşturur ve etkin bağlamı buna geçirir.
Select-AzContext
yalnızca mevcut Azure bağlamlarıyla kullanılmak üzere tasarlanmıştır ve kullanımına Set-AzContext -Context
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'deki diğer birçok hesap ve bağlam yönetimi komutu gibi bağlamın Set-AzContext
Select-AzContext
ne kadar süre etkin olduğunu denetleyebileceğiniz Scope parametresini de destekler. 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'leriyle bağlamların diğer birincil kullanımı arka plan komutlarını çalıştırmaktır. Azure PowerShell kullanarak PowerShell İşlerini çalıştırma hakkında daha fazla bilgi edinmek için bkz. PowerShell İşlerinde Azure PowerShell cmdlet'lerini çalıştırma.
PowerShell oturumları arasında Azure bağlamlarını kaydetme
Azure bağlamları varsayılan olarak PowerShell oturumları arasında kullanılmak üzere kaydedilir. Bu davranışı aşağıdaki yollarla değiştirebilirsiniz:
Connect-AzAccount
cmdlet'iyle-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.
Cmdlet'iyle Azure PowerShell'de bağlam otomatik kaydetmeyi
Disable-AzContextAutosave
devre dışı bırakın. Bağlam otomatik kaydetme ayarı devre dışı bırakıldığında depolanmış olan belirteçler temizlenmez. 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ştirme cmdlet'iyle
Enable-AzContextAutosave
etkinleştirilebilir. Otomatik kaydetme etkinleştirildiğinde, kullanıcının bağlamları sonraki PowerShell oturumları için yerel olarak depolanır.ile bağlamları el ile
Save-AzContext
kaydederek gelecekte powershell oturumlarında kullanılabilir ve burada ileImport-AzContext
yüklenebilirler: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 kaydetme ayarı devre dışı bırakıldığında, daha önce kaydedilmiş olan depolanan bağlam bilgileri temizlenmez. 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, değerinin yalnızca geçerli çalışan işleme uygulanmasını sağlayan Process
Scope parametresini destekler. Örneğin, yeni oluşturulan bağlamların PowerShell oturumundan çıkarken kaydedilmemesini sağlamak 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'daki dizinde $env:USERPROFILE\.Azure
ve $HOME/.Azure
diğer platformlarda depolanır. Abonelik kimlikleri ve kiracı kimlikleri gibi hassas bilgiler depolanmış bilgiler, günlükler veya kaydedilmiş bağlamlar aracılığıyla kullanıma sunulmaya devam edebilir. 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:
ile
Disconnect-AzAccount
bir hesabın oturumunu kapatın. 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 information
Bağlantının kesilmesi her zaman depolanan kimlik doğrulama belirteçlerini kaldırır ve bağlantısı kesilmiş kullanıcıyla veya bağlamla ilişkili kaydedilmiş bağlamları temizler.
Clear-AzContext
adresini kullanın. Bu cmdlet her zaman depolanan bağlamları ve kimlik doğrulama belirteçlerini kaldırır ve oturum kapatmanızı sağlar.ile
Remove-AzContext
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 ile
Connect-AzAccount
yeniden kimlik doğrulaması yapmanız gerekir.
Ayrıca bkz.
Azure PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin