Aracılığıyla paylaş


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 $trueayarlandığında bağlam otomatik olarak kaydedilir. olarak ayarlanırsa $falsebağlam kaydedilmez.

AzureRM.Profile modülündeki değişiklikler

Bağlam yönetmeye yönelik yeni cmdlet'ler

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.