Kullanıcı kimlik bilgilerini PowerShell oturumlarında kalıcı hale getirme
Uyarı
AzureRM PowerShell modülü 29 Şubat 2024 itibarıyla resmi olarak kullanım dışı bırakılmıştır. Kullanıcıların destek ve güncelleştirmelerin devam etmesini sağlamak için AzureRM'den Az PowerShell modülüne geçmeleri tavsiye edilir.
AzureRM modülü çalışmaya devam edebilir, ancak artık bakım yapılmaz veya desteklenmez ve kullanıcının takdirine ve riskine bağlı olarak sürekli kullanım sağlanır. Az modülüne geçiş konusunda yönergeler için lütfen geçiş kaynaklarımıza bakın.
Azure PowerShell aşağıdaki özellikleri getiren Azure Context Autosave adlı bir özellik sunar:
- Yeni PowerShell oturumlarında yeniden kullanım için oturum açma bilgilerini tutma.
- Uzun süre çalışan cmdlet'leri yürütmek için arka plan görevlerini daha kolay kullanma.
- Ayrı bir oturum açma olmadan hesaplar, abonelikler ve ortamlar arasında geçiş yapma.
- Farklı kimlik bilgileri ve abonelikler kullanarak, görevleri aynı PowerShell oturumundan aynı anda yürütme.
Tanımlanan Azure bağlamları
Azure bağlamı, Azure PowerShell cmdlet’lerinin hedefini tanımlayan bilgiler kümesidir. Bağlam beş bölümden oluşur:
- Hesap - Azure ile iletişimin kimliğini doğrulamak için kullanılan UserName veya Hizmet Sorumlusu
- Abonelik - Üzerinde işlem yapılan Kaynakların bulunduğu Azure Aboneliği.
- Kiracı - Aboneliğinizi içeren Microsoft Entra kiracısı. Kiracılar ServicePrincipal kimlik doğrulaması için daha önemlidir.
- Ortam - Hedeflenen Azure Bulutu, genellikle Azure genel bulutudur. Ancak, ortamı ayarı Ulusal, Kamu ve şirket içi (Azure Stack) bulutları da hedeflemenize olanak tanır.
- Kimlik Bilgileri - Kimliğinizi doğrulamak ve Azure’daki kaynaklara erişim yetkinizi onaylamak için Azure tarafından kullanılan bilgiler
Önceki sürümlerde, Azure Bağlamının yeni bir PowerShell oturumu açtığınız her durumda oluşturulması gerekiyordu. Azure PowerShell v4.4.0'dan başlayarak, her yeni PowerShell oturumunun açılışında Azure Bağlamları otomatik olarak kaydedilebilir.
Sonraki oturum için bağlamı otomatik olarak kaydetme
6.3.0 ve sonraki sürümlerde, Azure PowerShell oturumlar arasında bağlam bilgilerinizi otomatik olarak tutar. PowerShell’i bağlam ve kimlik bilgilerinizi unutacak şekilde ayarlamak için Disable-AzureRmContextAutoSave
seçeneğini kullanın. Açtığınız her PowerShell oturumunda Azure oturumu açmanız gerekecektir.
Azure PowerShell’in PowerShell oturumu kapatıldıktan sonra bağlamınızı hatırlamasına izin vermek için Enable-AzureRmContextAutosave
kullanın. Bağlam ve kimlik bilgileri, kullanıcı dizininizdeki (%AppData%\Roaming\Windows Azure PowerShell
) özel bir gizli klasöre otomatik olarak kaydedilir. Her yeni PowerShell oturumu son oturumunuzda kullanılan bağlamı hedefler.
Azure bağlamlarını yönetmenizi sağlayan cmdlet’ler, hassas denetime de olanak tanır. Değişikliklerin yalnızca mevcut PowerShell oturumunda (Process
kapsamı) veya her PowerShell oturumunda (CurrentUser
kapsamı) geçerli olmasını istiyorsanız. Bu seçenekler Bağlam Kapsamlarını Kullanma bölümünde daha ayrıntılı olarak ele alınmıştır.
Azure PowerShell cmdlet'lerini arka plan işleri olarak çalıştırma
Azure Bağlam Otomatik Kaydı özelliği ayrıca bağlamınızı PowerShell arka plan işleri ile paylaşmanıza olanak tanır. PowerShell, uzun süre yürütülen görevlerin tamamlanmasını beklemek zorunda kalmadan görevleri arka plan işleri olarak başlatıp izlemenizi sağlar. Kimlik bilgilerini arka plan işleri ile iki farklı şekilde paylaşabilirsiniz:
Bağlamı bağımsız değişken olarak geçirme
Birçok AzureRM cmdlet’i, bağlamı cmdlet’e parametre olarak geçirmenize olanak tanır. Bağlamı bir arka plan işine aşağıdaki örnekte gösterildiği gibi geçirebilirsiniz:
$job = Start-Job { param ($ctx) New-AzureRmVm -AzureRmContext $ctx [... Ek parametreler ...]} -ArgumentList (Get-AzureRmContext)
- Using the default context with Autosave enabled
If you have enabled **Context Autosave**, background jobs automatically use the default saved
context.
```powershell
$job = Start-Job { New-AzureRmVm [... Additional parameters ...]}
Arka plan görevinin sonucunu öğrenmek istediğiniz, Get-Job
seçeneğini kullanarak iş durumunu denetleyin ve Wait-Job
ile İşin tamamlanmasını bekleyin. Arka plan işinin çıktısını yakalamak veya görüntülemek için Receive-Job
seçeneğini kullanın. Daha fazla bilgi için bkz. İşler hakkında.
Bağlam oluşturma, seçme, yeniden adlandırma ve kaldırma
Bağlam oluşturmak için Azure'da oturum açmanız gerekir. Connect-AzureRmAccount
cmdlet’i (veya diğer adıyla Login-AzureRmAccount
), Azure PowerShell cmdlet’leri tarafından kullanılan varsayılan bağlamı ayarlar ve kimlik bilgilerinizin izin verdiği tüm kiracı ya da aboneliklere erişmenize olanak tanır.
Oturum açtıktan sonra yeni bir bağlam eklemek için Set-AzureRmContext
(veya diğer adıyla Select-AzureRmSubscription
) cmdlet’ini kullanın.
Set-AzureRMContext -Subscription 'Contoso Subscription 1' -Name 'Contoso1'
Önceki örnekte, mevcut kimlik bilgileriniz kullanılarak 'Contoso Aboneliği 1'’i hedefleyen yeni bir bağlam eklenmiştir. Yeni bağlam 'Contoso1' olarak adlandırılır. Bağlam için ad belirtmezseniz, hesap kimliği ve abonelik kimliğinin kullanıldığı varsayılan bir ad kullanılır.
Var olan bir bağlamı yeniden adlandırmak için Rename-AzureRmContext
cmdlet'ini kullanın. Örneğin:
Rename-AzureRmContext '[user1@contoso.org; 123456-7890-1234-564321]' 'Contoso2'
Bu örnekte, otomatik adı [user1@contoso.org; 123456-7890-1234-564321]
olan bağlam 'Contoso2' basit adıyla yeniden adlandırılmaktadır. Bağlamları yöneten cmdlet’ler aynı zamanda sekme tamamlamayı kullanarak bağlamı hızlıca seçmenize olanak tanır.
Son olarak, bir bağlamı kaldırmak için Remove-AzureRmContext
cmdlet'ini kullanın. Örneğin:
Remove-AzureRmContext Contoso2
'Contoso2' adlı bağlamı unutur. Bu bağlamı Set-AzureRmContext
kullanarak yeniden oluşturabilirsiniz
Kimlik bilgilerini kaldırma
Disconnect-AzureRmAccount
(aynı zamanda Logout-AzureRmAccount
olarak bilinir) kullanarak bir kullanıcı ya da hizmet sorumlusuna ait tüm kimlik bilgilerini ve ilişkili bağlamları kaldırabilirsiniz. Parametre olmadan çalıştırıldığında, Disconnect-AzureRmAccount
cmdlet'i mevcut bağlamda Kullanıcı veya Hizmet Sorumlusu ile ilişkili tüm kimlik bilgilerini ve bağlamları kaldırır. Belirli bir sorumluyu hedeflemek için bir Kullanıcı Adı, Hizmet Asıl Adı ya da bağlam geçirebilirsiniz.
Disconnect-AzureRmAccount user1@contoso.org
Bağlam kapsamlarını kullanma
Bazı durumlarda, diğer oturumları etkilemeden bir PowerShell oturumundaki bağlamı seçmek, değiştirmek ya da kaldırmak isteyebilirsiniz. Bağlam cmdlet'lerinin varsayılan davranışını değiştirmek için Scope
parametresini kullanın. Process
kapsamı yalnızca mevcut oturum için geçerli olmasını sağlayarak varsayılan davranışı geçersiz kılar. Buna karşılık CurrentUser
kapsamı, yalnızca mevcut oturum yerine tüm oturumlardaki bağlamı değiştirir.
Örnek olarak, diğer pencereleri etkilemeden mevcut PowerShell oturumundaki varsayılan bağlamı veya açılan bir sonraki oturumda kullanılan bağlamı değiştirmek için şunu kullanın:
Select-AzureRmContext Contoso1 -Scope Process
Bağlam otomatik kaydetme ayarını hatırlama
Bağlam Otomatik Kaydetme ayarı, kullanıcının Azure PowerShell dizinine (%AppData%\Roaming\Windows Azure PowerShell
) kaydedilir. Bilgisayar hesaplarının bazı türleri bu dizine erişemeyebilir. Bu tür senaryolar için ortam değişkenini kullanabilirsiniz
$env:AzureRmContextAutoSave=$true
olarak $true
ayarlandığında bağlam otomatik olarak kaydedilir. olarak ayarlanırsa $false
bağlam kaydedilmez.
AzureRM.Profile modülündeki değişiklikler
Bağlam yönetmeye yönelik yeni cmdlet'ler
- Enable-AzureRmContextAutosave: PowerShell oturumları arasında bağlamı kaydetmeye olanak tanır. Her türlü değişiklik, genel bağlamı değiştirir.
- Disable-AzureRmContextAutosave: Bağlamı otomatik kaydetmeyi kapatır. Her yeni PowerShell oturumunda yeniden oturum açmak gerekir.
- Select-AzureRmContext: Bir bağlamı varsayılan bağlam olarak seçer. Tüm cmdlet'ler kimlik doğrulaması için bu bağlamdaki kimlik bilgilerini kullanır.
- Disconnect-AzureRmAccount: Bir hesapla ilişkili tüm kimlik bilgilerini ve bağlamları kaldırır.
- Remove-AzureRmContext: Adlandırılmış bir bağlamı kaldırır.
- Rename-AzureRmContext: Mevcut bir bağlamı yeniden adlandırır.
Mevcut profil cmdlet'lerinde yapılan değişiklikler
- Add-AzureRmAccount: Oturum açma kapsamının işlem veya mevcut kullanıcı olarak ayarlanmasına izin verir. Kimlik doğrulamasından sonra varsayılan bağlamı adlandırmaya olanak tanır.
- Import-AzureRmContext: Oturum açma kapsamının işlem veya mevcut kullanıcı olarak ayarlanmasına izin verir.
- Set-AzureRmContext: Mevcut adlandırılmış bağlamların seçilmesine ve kapsamın işlem ya da mevcut kullanıcı olarak değiştirilmesine olanak tanır.