Azure Otomasyonu grafik runbook'ları yazma

Önemli

Azure Otomasyonu Klasik Farklı Çalıştır hesapları da dahil olmak üzere Farklı çalıştır hesapları 30 Eylül 2023'te kullanımdan kaldırıldı ve yerine Yönetilen Kimlikler kullanıldı. Artık Azure portalı üzerinden Farklı çalıştır hesapları oluşturamaz veya yenileyemezsiniz. Daha fazla bilgi için bkz. Mevcut Farklı Çalıştır hesaplarından yönetilen kimliğe geçiş.

Azure Otomasyonu içindeki tüm runbook'lar Windows PowerShell iş akışlarıdır. Grafik runbook'lar ve grafik PowerShell İş Akışı runbook'ları, Otomasyon çalışanlarının çalıştıracağı ancak görüntüleyemeyeceğiniz veya değiştiremeyeceğiniz PowerShell kodu oluşturur. Grafik runbook'u grafik PowerShell İş Akışı runbook'una dönüştürebilirsiniz ve tam tersi de geçerlidir. Ancak, bu runbook'ları metinsel runbook'a dönüştüremezsiniz. Buna ek olarak, Otomasyon grafik düzenleyicisi bir metin runbook'unu içeri aktaramaz.

Grafik yazma, temel alınan Windows PowerShell veya PowerShell İş Akışı kodunun karmaşıklığı olmadan Azure Otomasyonu için runbook'lar oluşturmanıza olanak tanır. Bir cmdlet ve runbook kitaplığından tuvale etkinlik ekleyebilir, bunları birbirine bağlayabilir ve iş akışı oluşturacak şekilde yapılandırabilirsiniz. System Center Orchestrator veya Service Management Automation (SMA) ile çalıştıysanız, grafik yazma tanıdık görünmelidir. Bu makale, grafik runbook oluşturmaya başlamak için ihtiyacınız olan kavramlara giriş niteliğindedir.

Dekont

Grafik runbook'a dijital imza ekleyemezsiniz. Bu özellik Azure Otomasyonu desteklenmez.

Grafik düzenleyiciye genel bakış

Grafik bir runbook oluşturarak veya düzenleyerek grafik düzenleyiciyi Azure portalında açabilirsiniz.

Graphical workspace

Aşağıdaki bölümlerde grafik düzenleyicideki denetimler açıklanmaktadır.

Tuval denetimi

Tuval denetimi runbook'unuzu tasarlamanızı sağlar. Kitaplık denetimindeki düğümlerden runbook'a etkinlik ekleyebilir ve runbook mantığını tanımlamak için bunları bağlantılarla bağlayabilirsiniz. Tuvalin alt kısmında yakınlaştırmanıza ve uzaklaştırmanıza olanak sağlayan denetimler vardır.

Kitaplık denetimi

Kitaplık denetimi runbook'unuza eklenecek etkinlikleri seçmenize olanak tanır. Bunları tuvale eklersiniz; burada diğer etkinliklere bağlayabilirsiniz. Kitaplık denetimi aşağıdaki tabloda tanımlanan bölümleri içerir.

Bölüm Tanım
Cmdlet'ler Runbook'unuzda kullanılabilecek tüm cmdlet'ler. Cmdlet'ler modüle göre düzenlenir. Otomasyon hesabınıza yüklediğiniz tüm modüller kullanılabilir.
Runbook'lar Otomasyon hesabınızdaki runbook'lar. Bu runbook'ları alt runbook olarak kullanılacak tuvale ekleyebilirsiniz. Yalnızca düzenlenmekte olan runbook ile aynı çekirdek türündeki runbook'lar gösterilir. Grafik runbook'lar için yalnızca PowerShell tabanlı runbook'lar gösterilir. Grafik PowerShell İş Akışı runbook'ları için yalnızca PowerShell İş Akışı tabanlı runbook'lar gösterilir.
Varlıklar Otomasyon hesabınızdaki runbook'unuzda kullanabileceğiniz otomasyon varlıkları. Runbook'a varlık eklemek, seçili varlığı alan bir iş akışı etkinliği ekler. Değişken varlıkları söz konusu olduğunda, değişkeni almak için etkinlik eklemeyi veya değişkeni ayarlamayı seçebilirsiniz.
Runbook Denetimi Geçerli runbook'unuzda kullanılabilecek etkinlikleri denetleme. Birleşim etkinliği birden çok giriş alır ve iş akışına devam etmeden önce tümü tamamlanana kadar bekler. Kod etkinliği, grafik runbook türüne bağlı olarak bir veya daha fazla PowerShell satırı veya PowerShell İş Akışı kodu çalıştırır. Bu etkinliği özel kod veya diğer etkinliklerle elde etmek zor olan işlevler için kullanabilirsiniz.

Yapılandırma denetimi

Yapılandırma denetimi, tuvalde seçilen bir nesnenin ayrıntılarını sağlamanıza olanak tanır. Bu denetimde kullanılabilen özellikler, seçilen nesnenin türüne bağlıdır. Yapılandırma denetiminde bir seçenek belirlediğinizde, daha fazla bilgi sağlamak için ek dikey pencere açılır.

Test denetimi

Grafik düzenleyici ilk kez başlatıldığında Test denetimi görüntülenmez. Grafik runbook'u etkileşimli olarak test ettiğinizde açılır.

Etkinlikleri kullanma

Etkinlikler runbook'un yapı taşlarıdır. Etkinlik bir PowerShell cmdlet'i, alt runbook veya iş akışı olabilir. Kitaplık denetiminde bir etkinliğe sağ tıklayıp Tuvale ekle'yi seçerek runbook'a etkinlik ekleyebilirsiniz. Ardından etkinliği tıklayıp sürükleyerek tuvalin istediğiniz herhangi bir yerine yerleştirebilirsiniz. Etkinliğin tuvaldeki konumu runbook'un çalışmasını etkilemez. Runbook'unuzu, çalışmasını görselleştirmek için en uygun bulduğunuz şekilde düzenleyebilirsiniz.

Add to canvas

Yapılandırma dikey penceresinde tuvalde bir etkinlik seçerek özelliklerini ve parametrelerini yapılandırın. Etkinliğin etiketini açıklayıcı bulduğunuz bir adla değiştirebilirsiniz. Runbook hala özgün cmdlet'ini çalıştırır. Grafik düzenleyicinin kullandığı görünen adı değiştirmeniz yeterlidir. Etiketin runbook içinde benzersiz olması gerektiğini unutmayın.

Parametre kümeleri

Parametre kümesi, belirli bir cmdlet için değerleri kabul eden zorunlu ve isteğe bağlı parametreleri tanımlar. Tüm cmdlet'lerde en az bir parametre kümesi ve bazılarında birkaç küme vardır. Bir cmdlet'in birden çok parametre kümesi varsa, parametreleri yapılandırabilmek için önce kullanılacak olanı seçmeniz gerekir. Parametre Kümesi'ni seçip başka bir küme seçerek bir etkinlik tarafından kullanılan parametre kümesini değiştirebilirsiniz. Bu durumda, önceden yapılandırdığınız tüm parametre değerleri kaybolur.

Aşağıdaki örnekte Get-AzVM cmdlet'i üç parametre kümesine sahiptir. Örnekte listelenecek sanal makinelerin konumunu döndürmek için ListLocationVirtualMachinesParamSet adlı tek bir isteğe bağlı parametre kullanılır. Örnek, döndürülecek sanal makineyi belirtmek için GetVirtualMachineInResourceGroupParamSet parametre kümesini de kullanır. Bu kümenin iki zorunlu parametresi ve bir isteğe bağlı parametresi vardır.

Parameter set

Parametre değerleri

Parametre için bir değer belirttiğinizde, değerin nasıl belirtildiğini belirlemek için bir veri kaynağı seçersiniz. Belirli bir parametre için kullanılabilen veri kaynakları, bu parametrenin geçerli değerlerine bağlıdır. Örneğin Null, null değerlere izin vermeyen bir parametre için kullanılabilir bir seçenek değildir.

Veri Kaynağı Tanım
Sabit Değer parametresi için bir değer yazın. Bu veri kaynağı yalnızca şu veri türleri için kullanılabilir: Int32, Int64, String, Boolean, DateTime, Switch.
Etkinlik Çıkışı İş akışındaki geçerli etkinlikten önce gelen bir etkinliğin çıkışını kullanın. Tüm geçerli etkinlikler listelenir. Parametre değeri için yalnızca çıkışı üreten etkinliği kullanın. Etkinlik birden çok özelliğe sahip bir nesnenin çıkışını verirse, etkinliği seçtikten sonra belirli bir özelliğin adını yazabilirsiniz.
Runbook Girişi Etkinlik parametresi için giriş olarak bir runbook girişi seçin.
Değişken Varlık Giriş olarak bir Otomasyon değişkeni seçin.
Kimlik Bilgisi Varlığı Giriş olarak bir Otomasyon kimlik bilgisi seçin.
Sertifika Varlığı Giriş olarak bir Otomasyon sertifikası seçin.
Bağlan ion Varlığı Giriş olarak bir Otomasyon bağlantısı seçin.
PowerShell İfadesi Basit bir PowerShell ifadesi belirtin. İfade etkinlik öncesinde değerlendirilir ve sonuç parametre değeri için kullanılır. Bir etkinliğin veya runbook giriş parametresinin çıkışına başvurmak için değişkenleri kullanabilirsiniz.
Yapılandırılmadı Daha önce yapılandırılmış olan tüm değerleri temizleyin.

İsteğe bağlı ek parametreler

Tüm cmdlet'ler ek parametreler sağlama seçeneğine sahiptir. Bunlar PowerShell ortak parametreleri veya diğer özel parametrelerdir. Grafik düzenleyici, PowerShell söz dizimini kullanarak parametreler sağlayabileceğiniz bir metin kutusu sunar. Örneğin, ortak parametresini Verbose kullanmak için belirtmelisiniz -Verbose:$True.

Yeniden deneme etkinliği

Bir etkinliğin yeniden deneme işlevi, döngü gibi belirli bir koşul karşılanıncaya kadar birden çok kez çalıştırılmasını sağlar. Bu özelliği, birden çok kez çalışması gereken, hataya açık, başarı için birden fazla deneme gerekebilecek veya etkinliğin çıkış bilgilerini geçerli veriler için test eden etkinlikler için kullanabilirsiniz.

Bir etkinlik için yeniden denemeyi etkinleştirdiğinizde, bir gecikme ve koşul ayarlayabilirsiniz. Gecikme, runbook'un etkinliği yeniden çalıştırmadan önce beklediği süredir (saniye veya dakika cinsinden ölçülür). Gecikme belirtmezseniz etkinlik tamamlandıktan hemen sonra yeniden çalışır.

Screenshot of the Enable retry feature settings.

Yeniden deneme koşulu, etkinlik her çalıştırıldıktan sonra değerlendirilen bir PowerShell ifadesidir. İfade True olarak çözümlanırsa etkinlik yeniden çalışır. İfade False olarak çözümlanırsa, etkinlik yeniden çalışmaz ve runbook sonraki etkinliğe geçer.

Screenshot showing the Retry until this condition is true field and examples of PowerShell expressions that can be used in the retry condition.

Yeniden deneme koşulu, etkinlik yeniden denemeleri hakkındaki bilgilere erişim sağlayan adlı RetryData bir değişken kullanabilir. Bu değişken aşağıdaki tabloda yer alan özelliklere sahiptir:

Özellik Tanım
NumberOfAttempts Etkinliğin kaç kez çalıştırıldığı.
Output Etkinliğin son çalıştırmasından çıktı.
TotalDuration Etkinlik ilk kez başlatıldığından bu yana zaman geçti.
StartedAt Etkinliğin ilk başlatıldığı saat (UTC biçiminde).

Aşağıda etkinlik yeniden deneme koşullarına örnekler verilmiştir.

# Run the activity exactly 10 times.
$RetryData.NumberOfAttempts -ge 10
# Run the activity repeatedly until it produces any output.
$RetryData.Output.Count -ge 1
# Run the activity repeatedly until 2 minutes has elapsed.
$RetryData.TotalDuration.TotalMinutes -ge 2

Bir etkinlik için yeniden deneme koşulu yapılandırdıktan sonra, etkinlik size anımsatacak iki görsel ipucu içerir. Biri etkinlikte, diğeri ise etkinliğin yapılandırmasını gözden geçirdiğinizde gösterilir.

Activity Retry Visual Indicators

İş Akışı Betiği denetimi

İş akışı Betik denetimi, yazılan grafik runbook'un türüne bağlı olarak PowerShell veya PowerShell İş Akışı betiğini kabul eden özel bir etkinliktir. Bu denetim, başka yollarla kullanılamayabilecek işlevler sağlar. Parametreleri kabul edemez, ancak etkinlik çıkışı ve runbook giriş parametreleri için değişkenleri kullanabilir. Etkinliğin tüm çıkışları databus'a eklenir. Giden bağlantısı olmayan bir çıkış özel durumdur ve bu durumda çıkış runbook'un çıkışına eklenir.

Örneğin, aşağıdaki kod adlı NumberOfDaysrunbook giriş değişkenini kullanarak tarih hesaplamaları yapar. Ardından runbook'taki sonraki etkinlikler tarafından kullanılacak çıkış olarak hesaplanan bir DateTime değeri gönderir.

$DateTimeNow = (Get-Date).ToUniversalTime()
$DateTimeStart = ($DateTimeNow).AddDays(-$NumberOfDays)}
$DateTimeStart

Grafik runbook'taki bir bağlantı iki etkinliği birbirine bağlar. Tuvalde kaynak etkinlikten hedef etkinliğe işaret eden bir ok olarak görüntülenir. Etkinlikler, kaynak etkinlik tamamlandıktan sonra başlayan hedef etkinlikle ok yönünde çalışır.

Kaynak etkinliği seçip şeklin altındaki daireye tıklayarak iki etkinlik arasında bağlantı oluşturabilirsiniz. Oku hedef etkinliğe ve yayına sürükleyin.

Create a link

Yapılandırma dikey penceresinde özelliklerini yapılandırmak için bağlantıyı seçin. Özellikler, aşağıdaki tabloda açıklanan bağlantı türünü içerir.

Bağlantı Türü Tanım
İşlem Hattı Hedef etkinlik, kaynak etkinlikten alınan her nesne çıkışı için bir kez çalışır. Kaynak etkinlik hiçbir çıkışla sonuçlanırsa hedef etkinlik çalışmaz. Kaynak etkinliğin çıkışı bir nesne olarak kullanılabilir.
Sequence Hedef etkinlik, kaynak etkinlikten çıktı aldığında yalnızca bir kez çalışır. Kaynak etkinliğin çıkışı bir nesne dizisi olarak kullanılabilir.

Runbook etkinliğini başlatma

Grafik runbook, gelen bağlantısı olmayan etkinliklerle başlar. Genellikle runbook için başlangıç etkinliği işlevi gören tek bir etkinlik vardır. Birden çok etkinliğin gelen bağlantısı yoksa runbook bunları paralel olarak çalıştırarak başlar. Her tamamlandıktan sonra diğer etkinlikleri çalıştırmak için bağlantıları izler.

Bağlantıda bir koşul belirttiğinizde, hedef etkinlik yalnızca koşul True olarak çözümlendiğinde çalışır. Genellikle kaynak ActivityOutput etkinlikten çıkışı almak için bir koşulda değişken kullanırsınız.

İşlem hattı bağlantısı için tek bir nesne için bir koşul belirtmeniz gerekir. Runbook, her nesne çıkışının koşulunu kaynak etkinliğine göre değerlendirir. Ardından, koşulu karşılayan her nesne için hedef etkinliği çalıştırır. Örneğin, kaynak etkinliğiyle Get-AzVM, yalnızca Group1 adlı kaynak grubundaki sanal makineleri almak üzere koşullu işlem hattı bağlantısı için aşağıdaki söz dizimini kullanabilirsiniz.

$ActivityOutput['Get Azure VMs'].Name -match "Group1"

Bir dizi bağlantısı için runbook koşulu yalnızca bir kez değerlendirir, çünkü kaynak etkinlikten tüm nesneleri içeren tek bir dizi döndürülür. Bu nedenle runbook, işlem hattı bağlantısıyla olduğu gibi filtreleme için bir dizi bağlantısı kullanamaz. Sıra bağlantısı, sonraki etkinliğin çalıştırılıp çalıştırılmayacağını belirleyebilir.

Örneğin, Başlangıç VM runbook'umuzda aşağıdaki etkinlik kümesini alın:

Conditional Link with Sequences

Runbook, giriş parametrelerinin VMName değerlerini doğrulayan ve ResourceGroupName gerçekleştirecek uygun eylemi belirlemek için üç farklı sıra bağlantısı kullanır. Olası eylemler tek bir VM başlatmak, kaynak grubundaki tüm VM'leri başlatmak veya abonelikteki tüm VM'leri başlatmaktır. ile Get single VMarasındaki Connect to Azure sıralı bağlantı için koşul mantığı aşağıda verilmiştir:

<#
Both VMName and ResourceGroupName runbook input parameters have values
#>
(
(($VMName -ne $null) -and ($VMName.Length -gt 0))
) -and (
(($ResourceGroupName -ne $null) -and ($ResourceGroupName.Length -gt 0))
)

Koşullu bağlantı kullandığınızda, kaynak etkinlikten bu daldaki diğer etkinliklere sağlanan veriler koşula göre filtrelenir. Bir etkinlik birden çok bağlantının kaynağıysa, her daldaki etkinlikler için kullanılabilen veriler, söz konusu dala bağlanan bağlantıdaki koşula bağlıdır.

Örneğin, Start-AzVM aşağıdaki runbook'taki etkinlik tüm sanal makineleri başlatır. İki koşullu bağlantısı vardır. İlk koşullu bağlantı, etkinlik başarıyla tamamlanırsa Start-AzVM filtrelemek için ifadesini $ActivityOutput['Start-AzVM'].IsSuccessStatusCode -eq $true kullanır. İkinci koşullu bağlantı, etkinliğin sanal makineyi başlatamaması durumunda Start-AzVm filtrelemek için ifadesini $ActivityOutput['Start-AzVM'].IsSuccessStatusCode -ne $true kullanır.

Conditional link example

İlk bağlantıyı izleyen ve 'den Get-AzureVM etkinlik çıkışını kullanan tüm etkinlikler yalnızca çalıştırıldığı Get-AzureVM sırada başlatılan sanal makineleri alır. İkinci bağlantıyı izleyen tüm etkinlikler yalnızca çalıştırıldığı Get-AzureVM sırada durdurulan sanal makineleri alır. Üçüncü bağlantıyı izleyen tüm etkinlikler, çalışma durumlarından bağımsız olarak tüm sanal makineleri alır.

Birleşimleri kullanma

Birleşim, tüm gelen dallar tamamlanana kadar bekleyen özel bir etkinliktir. Bu, runbook'un birden çok etkinliği paralel olarak çalıştırmasına ve devam etmeden önce tümünün tamamlandığından emin olmasını sağlar.

Bir birleşim sınırsız sayıda gelen bağlantıya sahip olsa da, bu bağlantılardan yalnızca biri işlem hattı olabilir. Gelen sıra bağlantılarının sayısı kısıtlanmaz. Birden çok gelen işlem hattı bağlantısıyla birleşim oluşturabilir ve runbook'u kaydedebilirsiniz, ancak çalıştırıldığında başarısız olur.

Aşağıdaki örnek, bu makinelere uygulanacak düzeltme eklerini aynı anda indirirken bir dizi sanal makine başlatan bir runbook'un parçasıdır. Runbook devam etmeden önce her iki işlemin de tamamlandığından emin olmak için bir birleşim kullanır.

Junction

Döngülerle çalışma

Bir hedef etkinlik, kaynak etkinliğine veya sonunda kaynağına geri bağlanan başka bir etkinliğe bağlandığında bir döngü oluşturulur. Grafik yazma şu anda döngüleri desteklememektedir. Runbook'unuzun bir döngüsü varsa düzgün bir şekilde kaydedilir ancak çalıştığında bir hata alır.

Cycle

Etkinlikler arasında veri paylaşma

Bir etkinliğin giden bağlantıyla çıkış yaptığı tüm veriler runbook için databus'a yazılır. Runbook'taki herhangi bir etkinlik, parametre değerlerini doldurmak veya betik koduna eklemek için databus üzerindeki verileri kullanabilir. Bir etkinlik, iş akışındaki önceki tüm etkinliklerin çıkışına erişebilir.

Verilerin databus'a nasıl yazılacakları, etkinlik üzerindeki bağlantı türüne bağlıdır. İşlem hattı bağlantısı için veriler birden çok nesne olarak çıkışlanır. Bir dizi bağlantısı için veriler bir dizi olarak çıkıştır. Yalnızca bir değer varsa, tek öğeli bir dizi olarak çıkıştır.

Runbook'unuzun databus üzerindeki verilere erişmenin iki yolu vardır:

  • Etkinlik çıktısı veri kaynağı kullanın.
  • PowerShell ifadesi veri kaynağı kullanın.

İlk mekanizma, başka bir etkinliğin parametresini doldurmak için etkinlik çıktısı veri kaynağını kullanır. Çıkış bir nesneyse runbook tek bir özellik belirtebilir.

activity output

İkinci veri erişim mekanizması, aşağıda gösterilen söz dizimini kullanarak PowerShell ifade veri kaynağındaki bir etkinliğin veya değişken içeren bir ActivityOutput iş akışı betiği etkinliğinin çıkışını alır. Çıkış bir nesneyse runbook'unuz tek bir özellik belirtebilir.

$ActivityOutput['Activity Label']
$ActivityOutput['Activity Label'].PropertyName

Denetim noktalarını kullanma

Herhangi bir etkinlikte Checkpoint runbook'u seçerek bir grafik PowerShell İş Akışı runbook'unda denetim noktaları ayarlayabilirsiniz. Bu, etkinlik çalıştırıldıktan sonra bir denetim noktasının ayarlanmasına neden olur.

Checkpoint

Denetim noktaları yalnızca grafik PowerShell İş Akışı runbook'larında etkinleştirilir ve grafik runbook'larda kullanılamaz. Runbook Azure cmdlet'lerini kullanıyorsa, bir Connect-AzAccount etkinlik içeren denetim noktası uygulanmış etkinlikleri izlemelidir. Runbook'un askıya alınması ve farklı bir çalışanda bu denetim noktasından yeniden başlatılması gerektiğinde bağlanma işlemi kullanılır.

Runbook girişini işleme

Bir runbook, runbook'u Azure portalı üzerinden başlatan bir kullanıcıdan veya geçerli olan alt öğe olarak kullanılıyorsa başka bir runbook'tan giriş gerektirir. Örneğin, sanal makine oluşturan bir runbook için, kullanıcının runbook her başlatıldığında sanal makinenin adı ve diğer özellikler gibi bilgileri sağlaması gerekebilir.

Runbook, bir veya daha fazla giriş parametresi tanımlayarak girişi kabul eder. Kullanıcı, runbook her başlatıldığında bu parametreler için değerler sağlar. Kullanıcı Azure portalını kullanarak runbook'u başlattığında, kullanıcıdan runbook tarafından desteklenen her giriş parametresi için değer sağlaması istenir.

Runbook'unuzu yazarken, runbook araç çubuğunda Giriş ve çıkış'a tıklayarak giriş parametrelerine erişebilirsiniz. Bu, giriş ekle'ye tıklayarak var olan bir giriş parametresini düzenleyebileceğiniz veya yeni bir parametre oluşturabileceğiniz Giriş ve Çıkış denetimini açar.

Add input

Her giriş parametresi aşağıdaki tablodaki özellikler tarafından tanımlanır:

Özellik Açıklama
Kuruluş adı Gerekli. Parametrenin adı. Adın runbook içinde benzersiz olması gerekir. Bir harfle başlamalıdır ve yalnızca harf, sayı ve alt çizgi içerebilir. Ad boşluk içeremez.
Tanım isteğe bağlı. Giriş parametresinin amacının açıklaması.
Tür isteğe bağlı. Parametre değeri için veri türü bekleniyor. Azure portalı, giriş istenirken her parametre için veri türü için uygun bir denetim sağlar. Desteklenen parametre türleri String, Int32, Int64, Decimal, Boole, DateTime ve Object'tir. Bir veri türü seçilmezse, varsayılan olarak Dize olur.
Zorunlu isteğe bağlı. parametresi için bir değer sağlanması gerekip gerekmediğini belirten ayar. öğesini seçerseniz yesrunbook başlatıldığında bir değer sağlanmalıdır. öğesini seçerseniz no, runbook başlatıldığında bir değer gerekmez ve varsayılan değer kullanılabilir. Varsayılan değeri tanımlı olmayan her zorunlu parametre için bir değer sağlamazsanız runbook başlatılamaz.
Varsayılan Değer isteğe bağlı. Runbook başlatıldığında geçirilmediğinde parametre için kullanılan değer. Varsayılan bir değer ayarlamak için öğesini seçin Custom. Herhangi bir varsayılan değer sağlamak istemiyorsanız seçin None .

Runbook çıkışını işleme

Grafik yazma, runbook'un çıkışına giden bağlantısı olmayan herhangi bir etkinlik tarafından oluşturulan verileri kaydeder. Çıktı runbook işiyle birlikte kaydedilir ve runbook alt öğe olarak kullanıldığında üst runbook tarafından kullanılabilir.

PowerShell ifadeleriyle çalışma

Grafik yazmanın avantajlarından biri, PowerShell hakkında en az bilgiye sahip bir runbook oluşturmanıza olanak sağlamasıdır. Ancak şu anda, belirli parametre değerlerini doldurma ve bağlantı koşullarını ayarlama konusunda biraz PowerShell bilmeniz gerekir. Bu bölüm, PowerShell ifadelerine hızlı bir giriş sağlar. PowerShell'in tüm ayrıntılarını Windows PowerShell ile betik oluşturma bölümünde bulabilirsiniz.

PowerShell ifadesini veri kaynağı olarak kullanma

Bir etkinlik parametresinin değerini PowerShell kodunun sonuçlarıyla doldurmak için veri kaynağı olarak Bir PowerShell ifadesi kullanabilirsiniz. İfade, basit bir işlev gerçekleştiren tek bir kod satırı veya bazı karmaşık mantıklar gerçekleştiren birden çok satır olabilir. Bir değişkene atanmamış bir komuttan elde edilen tüm çıkışlar parametre değerine çıkar.

Örneğin, aşağıdaki komut geçerli tarihin çıkışını oluşturur.

Get-Date

Sonraki kod parçacığı geçerli tarihten bir dize oluşturur ve bunu bir değişkene atar. Kod, değişkenin içeriğini çıkışa gönderir.

$string = "The current date is " + (Get-Date)
$string

Aşağıdaki komutlar geçerli tarihi değerlendirir ve geçerli günün hafta sonu mu yoksa haftanın günü mü olduğunu belirten bir dize döndürür.

$date = Get-Date
if (($date.DayOfWeek = "Saturday") -or ($date.DayOfWeek = "Sunday")) { "Weekend" }
else { "Weekday" }

Etkinlik çıkışını kullanma

Runbook'unuzda önceki bir etkinliğin çıktısını kullanmak için aşağıdaki söz dizimiyle değişkenini ActivityOutput kullanın.

$ActivityOutput['Activity Label'].PropertyName

Örneğin, bir sanal makinenin adını gerektiren bir özelliğe sahip bir etkinliğiniz olabilir. Bu durumda runbook'unuz aşağıdaki ifadeyi kullanabilir.

$ActivityOutput['Get-AzureVM'].Name

Özelliği yalnızca bir ad yerine sanal makine nesnesi gerektiriyorsa, runbook aşağıdaki söz dizimini kullanarak nesnenin tamamını döndürür.

$ActivityOutput['Get-AzureVM']

Runbook, bir etkinliğin çıkışını aşağıdaki gibi daha karmaşık bir ifadede kullanabilir. Bu ifade, metni sanal makine adıyla birleştirir.

"The computer name is " + $ActivityOutput['Get-AzureVM'].Name

Değerleri karşılaştırma

Değerleri karşılaştırmak veya bir değerin belirtilen desenle eşleşip eşleşmediğini belirlemek için karşılaştırma işleçlerini kullanın. Karşılaştırma, True veya False değerini döndürür.

Örneğin, aşağıdaki koşul adlı Get-AzureVM bir etkinlikten sanal makinenin şu anda durdurulup durdurulmadığını belirler.

$ActivityOutput["Get-AzureVM"].PowerState -eq "Stopped"

Aşağıdaki koşul, aynı sanal makinenin durduruldu dışında bir durumda olup olmadığını belirler.

$ActivityOutput["Get-AzureVM"].PowerState -ne "Stopped"

veya -orgibi -and bir mantıksal işleç kullanarak runbook'unuzda birden çok koşulu birleştirebilirsiniz. Örneğin, aşağıdaki koşul önceki örnekteki sanal makinenin Durduruldu veya Durduruluyor durumunda olup olmadığını denetler.

($ActivityOutput["Get-AzureVM"].PowerState -eq "Stopped") -or ($ActivityOutput["Get-AzureVM"].PowerState -eq "Stopping")

Karma tablo kullanma

Karma tablo, bir değer kümesi döndürmek için yararlı olan ad-değer çiftleridir. Sözlük olarak adlandırılan bir karma tablo da görebilirsiniz. Belirli etkinliklerin özellikleri basit bir değer yerine bir karma tablo bekler.

Aşağıdaki söz dizimini kullanarak bir karma tablo oluşturun. Herhangi bir sayıda girdi içerebilir, ancak her biri bir ad ve değerle tanımlanır.

@{ <name> = <value>; [<name> = <value> ] ...}

Örneğin, aşağıdaki ifade, internet araması için bir değer karma tablosu bekleyen bir etkinlik parametresi için veri kaynağı olarak kullanılacak bir karma tablo oluşturur.

$query = "Azure Automation"
$count = 10
$h = @{'q'=$query; 'lr'='lang_ja';  'count'=$Count}
$h

Aşağıdaki örnek, bir karma tablo doldurmak için adlı Get Twitter Connection bir etkinliğin çıkışını kullanır.

@{'ApiKey'=$ActivityOutput['Get Twitter Connection'].ConsumerAPIKey;
    'ApiSecret'=$ActivityOutput['Get Twitter Connection'].ConsumerAPISecret;
    'AccessToken'=$ActivityOutput['Get Twitter Connection'].AccessToken;
    'AccessTokenSecret'=$ActivityOutput['Get Twitter Connection'].AccessTokenSecret}

Azure kaynaklarda kimlik doğrulaması

azure kaynaklarını yöneten Azure Otomasyonu runbook'ları Azure'da kimlik doğrulaması gerektirir. Yönetilen Kimlikler , Otomasyon runbook'unun aboneliğinizdeki Azure Resource Manager kaynaklarına erişmek için kullandığı varsayılan mekanizmadır. Aşağıdaki runbook'u otomasyon hesabına aktararak bu işlevi bir grafik runbook'a ekleyebilirsiniz. Bu özellik, Azure kaynaklarının kimliğini doğrulamak ve bunlara erişmek için otomasyon hesabının sistem tarafından atanan Yönetilen Kimliğinden yararlanıyor.

wget https://raw.githubusercontent.com/azureautomation/runbooks/master/Utility/AzMI/AzureAutomationTutorialWithIdentityGraphical.graphrunbook -outfile AzureAutomationTutorialWithIdentityGraphical.graphrunbook

Grafik runbook'u dışarı aktarma

Yalnızca grafik runbook'un yayımlanmış sürümünü dışarı aktarabilirsiniz. Runbook henüz yayımlanmadıysa Dışarı Aktar düğmesi devre dışı bırakılır. Dışarı Aktar düğmesine tıkladığınızda runbook yerel bilgisayarınıza indirilir. Dosyanın adı runbook'un adıyla bir .graphrunbook uzantısıyla eşleşir.

Grafik runbook'u içeri aktarma

Runbook eklerken İçeri Aktar seçeneğini belirleyerek grafik veya grafik powershell iş akışı runbook dosyasını içeri aktarabilirsiniz. İçeri aktaracak dosyayı seçtiğinizde, aynı adı koruyabilir veya yeni bir ad sağlayabilirsiniz. Runbook Türü alanı, seçilen dosyayı değerlendirdikten sonra runbook türünü görüntüler. Doğru olmayan farklı bir tür seçmeye çalışırsanız, grafik düzenleyici olası çakışmalar olduğunu ve dönüştürme sırasında söz dizimi hataları olabileceğini belirten bir ileti sunar.

Import runbook

Grafik runbook'u test edin

Azure Otomasyonu'daki her grafik runbook'un taslak sürümü ve Yayımlanmış sürümü vardır. Yalnızca Yayımlanan sürümü çalıştırabilir, ancak yalnızca Taslak sürümünü düzenleyebilirsiniz. Yayımlanan sürüm Taslak sürümdeki herhangi bir değişiklikten etkilenmez. Taslak sürümü kullanıma hazır olduğunda, geçerli Yayımlanan sürümün üzerine Taslak sürümünüzle yazan sürümü yayımlarsınız.

Yayımlanan sürümü değiştirmeden bırakarak Azure portalında bir runbook'un Taslak sürümünü test edebilirsiniz. Alternatif olarak, herhangi bir sürüm değişikliğinden önce runbook'un düzgün çalıştığını doğrulayabilmeniz için yeni bir runbook yayımlanmadan önce test edebilirsiniz. Bir runbook'un test edilmesi Taslak sürümünü yürütür ve gerçekleştirdiği tüm eylemlerin tamamlanmasını sağlar. İş geçmişi oluşturulmaz, ancak Test Çıktısı bölmesinde çıktı görüntülenir.

Düzenleme için runbook'u açıp Test bölmesi'ne tıklayarak grafik runbook'unuz için Test denetimini açın. Test denetimi giriş parametrelerini ister ve Başlat'a tıklayarak runbook'u başlatabilirsiniz.

Grafik runbook yayımlama

Düzenleme için runbook'u açıp Yayımla'ya tıklayarak grafik bir runbook yayımlayın. Runbook için olası durumlar şunlardır:

  • Yeni -- runbook henüz yayımlanmadı.
  • Yayımlandı -- runbook yayımlandı.
  • Düzenlemede -- runbook yayımlandıktan sonra düzenlenmiştir ve Taslak ve Yayımlanan sürümler farklıdır.

Runbook statuses

Runbook'un Yayımlanan sürümüne geri dönme seçeneğiniz vardır. Bu işlem, runbook'un son yayımlanma tarihinden bu yana yapılan değişiklikleri ortadan kaldırır. Runbook'un Taslak sürümünü Yayımlanan sürümle değiştirir.

Sonraki adımlar