Runbook türlerini Azure Otomasyonu

Azure Otomasyonu İşlem Otomasyonu özelliği, aşağıdaki tabloda tanımlandığı gibi çeşitli runbook türlerini destekler. İşlem otomasyonu ortamı hakkında bilgi edinmek için bkz. Azure Otomasyonu'de Runbook yürütme.

Type Açıklama
PowerShell Windows PowerShell betiğini temel alan metin runbook'u. Şu anda desteklenen sürümler şunlardır: PowerShell 7.2 (GA) ve PowerShell 5.1 (GA). PowerShell 7.1 artık üst ürün PowerShell tarafından desteklenmediğinden, uzun süreli desteklenen PowerShell 7.2 sürümünde runbook'lar oluşturmanızı öneririz
PowerShell İş Akışı Windows PowerShell İş Akışı betiğini temel alan metin runbook'u.
Python Python betiğini temel alan metin runbook'u. Şu anda desteklenen sürümler şunlardır: Python 3.8 (GA) ve Python 3.10 (önizleme). Python 2.7 artık üst ürün Python tarafından desteklenmediğinden, uzun süreli desteklenen sürümlerde runbook'lar oluşturmanızı öneririz.
Grafik Windows PowerShell'i temel alan grafik runbook, Azure portalındaki grafik düzenleyicide tamamen oluşturulmuş ve düzenlenmiştir.
Grafik PowerShell İş Akışı Windows PowerShell İş Akışı'nı temel alan grafik runbook, Azure portalındaki grafik düzenleyicide tamamen oluşturulmuş ve düzenlenmiştir.

Not

Azure Otomasyonu, üst ürünler tarafından yayımlanan zaman çizelgelerine uygun olarak PowerShell ve Python dil sürümlerinin destek yaşam döngüsünü izlerSırasıyla PowerShell ve Python. Desteklenen dil sürümleriyle runbook'ları kullanmanızı öneririz.

Belirli bir runbook için hangi türün kullanılacağını belirlerken aşağıdaki noktaları dikkate alın.

  • Runbook'ları grafikten metin türüne veya başka bir yolla dönüştüremezsiniz.
  • Farklı türlerdeki runbook'ları alt runbook olarak kullanırken sınırlamalar vardır. Daha fazla bilgi için bkz. Azure Otomasyonu'da alt runbook'lar.

PowerShell runbook'ları

PowerShell runbook'ları Windows PowerShell'i temel alır. Azure portalındaki metin düzenleyicisini kullanarak runbook'un kodunu doğrudan düzenlersiniz. Ayrıca herhangi bir çevrimdışı metin düzenleyicisini kullanabilir ve runbook'u Azure Otomasyonu içeri aktarabilirsiniz.

PowerShell sürümü, belirtilen Çalışma Zamanı sürümüne (sürüm 7.2, 7.1 (önizleme) veya 5.1) göre belirlenir.

Aynı Azure korumalı alanı ve Karma Runbook Çalışanı, farklı çalışma zamanı sürümlerini hedefleyen birden çok PowerShell runbook'unu yan yana yürütebilir.

Not

  • Şu anda PowerShell 7.2 çalışma zamanı sürümü Orta Hindistan, BAE Orta, Orta İsrail, kuzey İtalya, Kuzey Almanya ve Gov bulutları dışındaki tüm Genel bölgelerde bulut ve hibrit işleri için desteklenmektedir.
  • Runbook yürütme sırasında Çalışma Zamanı Sürümünü 7.2 olarak seçerseniz, 7.2 çalışma zamanı sürümünü hedefleyen PowerShell modülleri kullanılır ve Çalışma Zamanı Sürümü'ni 5.1 olarak seçerseniz, 5.1 çalışma zamanı sürümünü hedefleyen PowerShell modülleri kullanılır. Bu, PowerShell 7.1 (önizleme) modülleri ve runbook'ları için geçerlidir.

Modüller için doğru Çalışma Zamanı Sürümünü seçtiğinizden emin olun.

Örneğin: Çalışma zamanı sürüm7.1 'de (önizleme) bir SharePoint otomasyon senaryosu için runbook yürütüyorsanız, modülü Çalışma Zamanı sürüm 7.1 'de (önizleme)içeri aktarın; Çalışma Zamanı sürüm5.1'de sharepoint otomasyon senaryosu için bir runbook çalıştırıyorsanız modülü Çalışma Zamanı sürüm5.1'de içeri aktarın. Bu durumda, modül için biri Çalışma Zamanı Sürümü7.1 (önizleme) ve diğeri 5.1 için olan iki giriş görürsünüz.

runbook Türleri.

Not

Şu anda PowerShell 5.1, PowerShell 7.1 (önizleme) ve PowerShell 7.2 desteklenmektedir.

Avantajlar

  • PowerShell İş Akışı'nın diğer karmaşıklıkları olmadan PowerShell koduyla tüm karmaşık mantığı uygulayın.
  • Çalıştırmadan önce derlenmiş olmaları gerekmeyen PowerShell İş Akışı runbook'larından daha hızlı başlayın.
  • Hem Windows hem de Linux için Azure'da ve Karma Runbook Çalışanlarında çalıştırın.

Sınırlamalar ve Bilinen sorunlar

PowerShell runbook'larıyla ilgili geçerli sınırlamalar ve bilinen sorunlar şunlardır:

Sınırlamalar

Not

Şu anda PowerShell 7.2 çalışma zamanı sürümü Orta Hindistan, BAE Orta, Orta İsrail, kuzey İtalya, Kuzey Almanya ve Gov bulutları dışındaki tüm Genel bölgelerde bulut ve hibrit işleri için desteklenmektedir.

  • PowerShell 7.2 çalışma zamanı sürümü için modül etkinlikleri içeri aktarılan modüller için ayıklanmamıştır. Runbook yazma deneyimini basitleştirmek için VS code için Azure Otomasyonu uzantısını kullanın.
  • PowerShell 7.x iş akışlarını desteklemez. Daha fazla bilgi için daha fazla ayrıntı için bkz . PowerShell iş akışı .
  • PowerShell 7.x şu anda imzalı runbook'ları desteklememektedir.
  • Kaynak denetimi tümleştirmesi PowerShell 7.2'i desteklemez. Ayrıca, kaynak denetimindeki PowerShell 7.2 runbook'ları Otomasyon hesabında Çalışma Zamanı 5.1 olarak oluşturulur.
  • Az modülü 8.3.0 varsayılan olarak yüklenir. Azure portalı veya API kullanılarak Az sürümü yeniden yapılandırıldıktan sonra seçilen Az modülü sürümünün bileşen modüllerinin tam listesi gösterilir.
  • İçeri aktarılan PowerShell 7.2 modülü, iş yürütme sırasında doğrulanır. Başarılı bir iş yürütme için seçilen modüle yönelik tüm bağımlılıkların da içeri aktarıldığından emin olun.
  • Azure runbook ile -credentialdesteklenmezStart-Job.
  • Azure tüm PowerShell giriş parametrelerini desteklemez. Daha fazla bilgi edinin.

Bilinen sorunlar

  • gibi C:\modules iç dosya yollarına bağımlılık alan runbook'lar hizmet arka uç altyapısındaki değişikliklerden dolayı başarısız olabilir. İç dosya yollarında bağımlılık olmadığından emin olmak için runbook kodunu değiştirin ve gerekli modül bilgilerini almak için Get-ChildItem kullanın.

  • Get-AzStorageAccountcmdlet'i bir hatayla başarısız olabilir: Get-AzStorageAccount komutu modülünde Az.Storagebulundu, ancak modül yüklenemedi.

  • kullanarak .\child-runbook.ps1 alt betiklerin yürütülmesi desteklenmez.
    Geçici çözüm: Üst runbook'tan başka bir runbook başlatmak için (iç cmdlet) veya Start-AzAutomationRunbook (Az.Automation modülünden) kullanın Start-AutomationRunbook .

  • ExchangeOnlineManagement modülü sürümü: 3.0.0 veya üzerini kullandığınızda hatayla karşılaşabilirsiniz. Sorunu çözmek için PowerShellGet ve PackageManagement modüllerini açıkça karşıya yüklediğinizden emin olun.

  • Az.Automation Modülü'nde cmdlet'ini New-AzAutomationVariable kullanarak nesne türünde bir değişkeni karşıya yüklediğinizde, işlem beklendiği gibi çalışmaz.

    Geçici çözüm: ConvertTo-Json cmdlet'ini kullanarak nesneyi bir JSON dizesine dönüştürün ve ardından değeri JSON dizesi olan değişkeni karşıya yükleyin. Bu geçici çözüm, Azure Otomasyonu ortamı içindeki değişkenin JSON dizesi olarak düzgün işlenmesini sağlar.

    Örnek - Azure VM'leri çevresinde depolanan bilgileri içeren bir PowerShell nesnesi oluşturma

      # Retrieve Azure virtual machines with status information for the 'northeurope' region 
      $AzVM = Get-AzVM -Status | Where-Object {$_.Location -eq "northeurope"} 
    
      $VMstopatch = @($AzVM).Id 
      # Create an Azure Automation variable (This cmdlet will not fail, but the variable may not work as intended when used in the runbook.) 
      New-AzAutomationVariable -ResourceGroupName "mrg" -AutomationAccountName "mAutomationAccount2" -Name "complex1" -Encrypted $false -Value $VMstopatch 
    
      # Convert the object to a JSON string 
      $jsonString = $VMstopatch | ConvertTo-Json 
    
      # Create an Azure Automation variable with a JSON string value (works effectively within the automation runbook) 
      New-AzAutomationVariable -ResourceGroupName "mrg" -AutomationAccountName "mAutomationAccount2" -Name "complex1" -Encrypted $false -Value $jsonString 
    

PowerShell İş Akışı runbook'ları

PowerShell İş Akışı runbook'ları, Windows PowerShell İş Akışı'na dayalı metin runbook'larıdır. Azure portalındaki metin düzenleyicisini kullanarak runbook'un kodunu doğrudan düzenlersiniz. Ayrıca herhangi bir çevrimdışı metin düzenleyicisini kullanabilir ve runbook'u Azure Otomasyonu içeri aktarabilirsiniz.

Not

PowerShell 7.1 (önizleme) ve PowerShell 7.2, İş Akışı runbook'larını desteklemez.

Avantajlar

  • PowerShell İş Akışı koduyla tüm karmaşık mantığı uygulayın.
  • Hata varsa işlemi sürdürmek için denetim noktalarını kullanın.
  • Paralel olarak birden çok eylem gerçekleştirmek için paralel işlemeyi kullanın.
  • Üst düzey iş akışları oluşturmak için alt runbook'lar olarak diğer grafik runbook'ları ve PowerShell İş Akışı runbook'larını içerebilir.

Sınırlamalar

  • PowerShell iş akışı PowerShell 7+ sürümlerinde desteklenmez. Bu nedenle, eski runbook'lar yükseltilemiyor.
  • Daha yeni PowerShell 7+ sürümlerine kıyasla paralel yürütmenin verimsiz işlenmesi.
  • PowerShell İş Akışı, birden çok işlem kullanılarak dahili olarak çalışır. Bu nedenle, bir işlemde kullanılabilen modüller başka bir işlemde kullanılamayabilir ve komut bulunamadı gibi özel durumlara neden olabilir.
  • Runbook'lar, seri durumdan çıkarılmış nesneler gibi PowerShell İş Akışı'nın ek karmaşıklığıyla ilgilenmelidir.
  • Çalıştırmadan önce derlenmeleri gerektiğinden runbook'ların başlatılması PowerShell runbook'larından daha uzun sürer.
  • PowerShell runbook'larını yalnızca cmdlet'ini Start-AzAutomationRunbook kullanarak alt runbook'lar olarak ekleyebilirsiniz.
  • Runbook'lar Linux Karma Runbook Çalışanı üzerinde çalıştırılamaz.

Python runbook'ları

Python runbook'ları Python 2.7(GA), Python 3.8 (GA) ve Python 3.10 (önizleme) altında derleniyor. Azure portalındaki metin düzenleyicisini kullanarak runbook'un kodunu doğrudan düzenleyebilirsiniz. Ayrıca çevrimdışı bir metin düzenleyicisi kullanabilir ve runbook'u Azure Otomasyonu'a aktarabilirsiniz.

Şu anda Python 3.10 (önizleme) çalışma zamanı sürümü Avustralya Orta2, Güney Kore, İsveç Güney, Jio Hindistan Orta, Brezilya SouthEast, Orta Hindistan, Batı Hindistan, Orta BAE ve Gov bulutları dışındaki tüm Genel bölgelerde Bulut ve Hibrit işleri için desteklenmektedir.

Avantajlar

Not

Python paketini içeri aktarmak birkaç dakika sürebilir.

  • Sağlam Python kitaplıklarını kullanır.
  • Azure'da veya Karma Runbook Çalışanlarında çalışabilir.
  • Python 2.7 için, Python 2.7 yüklü olarak Windows Karma Runbook Çalışanları desteklenir.
  • Python 3.8 Bulut İşleri için Python 3.8 sürümü desteklenir. Kod farklı sürümlerde uyumluysa, herhangi bir 3.x sürümündeki betikler ve paketler çalışabilir.
  • Windows makinelerindeki Python 3.8 Karma işleri için, kullanmak isteyebileceğiniz herhangi bir 3.x sürümünü yüklemeyi seçebilirsiniz.
  • Linux makinelerindeki Python 3.8 Karma işleri için, DSC OMSConfig ve Linux Karma Çalışanı'nı çalıştırmak için makinede yüklü Python 3 sürümüne bağımlıyız. Python 3 sürümleri arasında yöntem imzalarında veya sözleşmelerinde hataya neden olan değişiklikler yoksa farklı sürümler işe yaramalıdır.

Sınırlamalar

Python runbook'larının sınırlamaları aşağıdadır

  • Python 3.10 (önizleme) modülleri için şu anda yalnızca cp310 Linux işletim sistemini hedefleyen tekerlek dosyaları desteklenmektedir. Daha fazla bilgi edinin
  • Kaynak denetimi tümleştirmesi desteklenmez.
  • Python 3.10 (önizleme) için özel paketler yalnızca iş çalışma zamanı sırasında doğrulanır. Paket çalışma zamanında uyumlu değilse veya gerekli paket bağımlılıkları otomasyon hesabına aktarılmıyorsa işin başarısız olması beklenir.
  • Şu anda Python 3.10 (önizleme) runbook'ları yalnızca Azure portalında desteklenmektedir. Rest API ve PowerShell desteklenmez.

Birden çok Python sürümü

Windows Hibrit çalışanları için geçerlidir. Bir Windows Runbook Çalışanı için Python 2 runbook'u çalıştırırken önce ortam değişkenini PYTHON_2_PATH arar ve geçerli bir yürütülebilir dosyaya işaret edip etmediğini doğrular. Örneğin, yükleme klasörü ise C:\Python2geçerli bir yol olup olmadığını C:\Python2\python.exe denetler. Bulunamazsa, benzer bir denetim yapmak için ortam değişkenini PATH arar.

Python 3 için önce env değişkenini PYTHON_3_PATH arar ve ardından ortam değişkenine PATH geri döner.

Python'ın yalnızca bir sürümünü kullanırken, değişkenine PATH yükleme yolunu ekleyebilirsiniz. Runbook Worker'da her iki sürümü de kullanmak istiyorsanız, bu sürümler için modülün konumunu ve PYTHON_3_PATH konumunu ayarlayınPYTHON_2_PATH.

Bilinen sorunlar

Bulut işleri için Python 3.8 işleri bazen bir özel durum iletisiyle invalid interpreter executable pathbaşarısız olur. İş gecikirse, 10 dakikadan uzun bir süreyle veya Python 3.8 runbook'larını başlatmak için Start-AutomationRunbook'u kullanıyorsa bu özel durumu görebilirsiniz. İş gecikirse runbook'un yeniden başlatılması yeterli olacaktır.

Grafik temelli runbook’lar

Azure portalındaki grafik düzenleyiciyi kullanarak grafik ve grafik PowerShell İş Akışı runbook'ları oluşturabilir ve düzenleyebilirsiniz. Ancak, bu tür runbook'u başka bir araçla oluşturamaz veya düzenleyemezsiniz. Grafik runbook'ların ana özellikleri:

  • Otomasyon hesabınızdaki dosyalara aktarılıp başka bir Otomasyon hesabına aktarıldı.
  • PowerShell kodu oluşturma.
  • İçeri aktarma sırasında grafik PowerShell İş Akışı runbook'larına veya bu runbook'lardan dönüştürülür.

Avantajlar

  • Görsel insert-link-configure yazma modelini kullanın.
  • Verilerin süreç boyunca nasıl aktığına odaklanın.
  • Yönetim süreçlerini görsel olarak temsil eder.
  • Üst düzey iş akışları oluşturmak için diğer runbook'ları alt runbook'lar olarak ekleyin.
  • Modüler programlamayı teşvik edin.

Sınırlamalar

  • Azure portal dışında oluşturulamaz veya düzenlenemez.
  • Karmaşık mantık yürütmek için PowerShell kodu içeren bir kod etkinliği gerekebilir.
  • Metin biçimlerinden birine dönüştüremez veya bir metin runbook'unu grafik biçime dönüştüremezsiniz.
  • Grafik iş akışının oluşturduğu PowerShell kodu görüntülenemez veya doğrudan düzenlenemez. Oluşturduğunuz kodu herhangi bir kod etkinliğinde görüntüleyebilirsiniz.
  • Linux Karma Runbook Çalışanı üzerinde runbook'lar çalıştırılamıyor. Bkz. Karma Runbook Çalışanı kullanarak veri merkezinizdeki veya buluttaki kaynakları otomatikleştirme.
  • Grafik runbook'lar dijital olarak imzalanamaz.

Sonraki adımlar