Azure PowerShell’de betik oluşturma ve kaydetme

Tamamlandı

Karmaşık ve yinelenen görevler genellikle yönetim kadrosunun çok zamanını alır. Kuruluşlar maliyetleri düşürmek ve hataları önlemek için bu görevleri otomatik hale getirmeyi tercih eder.

Otomasyon, Müşteri İlişkileri Yönetimi (CRM) şirket örneğinde önemlidir. Burada, yazılımınızı sürekli silmeniz ve yeniden oluşturmanız gereken birden çok Linux Sanal Makineler (VM) üzerinde test ediyor olursunuz. Vm oluşturmayı otomatikleştirmek ve bunları her seferinde el ile oluşturmak için bir PowerShell betiği kullanmak istiyorsunuz.

VM oluşturmanın temel işleminin ötesinde, betiğiniz için birkaç gereksiniminiz daha vardır:

  • Birden çok VM oluşturacağınız için oluşturma işlemini döngüye almak istiyorsunuz.
  • Üç farklı kaynak grubunda VM oluşturmanız gerekir, bu nedenle kaynak grubunun adı betike parametre olarak geçirilmelidir.

Bu bölümde, bu gereksinimleri karşılayan bir Azure PowerShell betiği yazmayı ve yürütmeyi göreceksiniz.

PowerShell betiği nedir?

PowerShell betiği, komutlar ve denetim yapıları içeren bir metin dosyasıdır. Komutlar, cmdlet çağrılarıdır. Denetim yapıları, PowerShell tarafından sağlanan döngüler, değişkenler, parametreler, açıklamalar vb. programlama özellikleridir.

PowerShell betik dosyalarının dosya uzantısı vardır .ps1 . Bu dosyaları herhangi bir metin düzenleyicisinde oluşturabilir ve kaydedebilirsiniz.

Bahşiş

Windows'da PowerShell betikleri yazıyorsanız, Windows PowerShell Tümleşik Betik Ortamı'nı (ISE) kullanabilirsiniz. Bu düzenleyici söz dizimi renklendirme ve kullanılabilir cmdlet'ler listesi gibi özellikler sağlar.

Aşağıdaki ekran görüntüsü, Azure’a bağlanıp Azure’da sanal makine oluşturmaya yarayan bir örnek betiği içeren Windows PowerShell Tümleşik Betik Ortamı’nı (ISE) gösterir.

Screenshot of the Windows PowerShell Integrated Scripting Environment with a script to create a virtual machine open in the editing window.

Betiği yazdıktan sonra, önünde nokta ve ters eğik çizgi bulunan dosyanın adını geçirerek PowerShell komut satırından yürütebilirsiniz:

.\myScript.ps1

PowerShell teknikleri

PowerShell'in tipik programlama dillerinde bulunan birçok özelliği vardır. Değişkenleri tanımlayabilir, dallar ve döngüler kullanabilir, komut satırı parametrelerini yakalayabilir, işlevler yazabilir, açıklamalar ekleyebilir ve benzeri işlemler yapabilirsiniz. Betiğimiz için üç özelliğe ihtiyacımız olacak: değişkenler, döngüler ve parametreler.

Değişkenler

Önceki ünitede PowerShell'in değişkenleri desteklediğini gördünüz. Değişken bildirmek için $ ve değer atamak için = kullanın. Örneğin:

$loc = "East US"
$iterations = 3

Değişkenler nesne barındırabilir. Örneğin, aşağıdaki tanım adminCredential değişkenini Get-Credential cmdlet'i tarafından döndürülen nesneye ayarlar.

$adminCredential = Get-Credential

Bir değişkende depolanan değeri almak için aşağıdaki gibi ön ekini ve adını kullanın $ :

$loc = "East US"
New-AzResourceGroup -Name "MyResourceGroup" -Location $loc

Döngüler

PowerShell, , Do...Whileve For...Eachgibi Forçeşitli döngü yapılarını içerir. Sabit For bir cmdlet'i birkaç kez yürüteceğimiz için döngü, ihtiyaçlarımıza en uygun döngüdür.

Aşağıdaki örnekte çekirdek söz dizimi gösterilmektedir. Örnek iki yineleme için çalışır ve her seferinde i değerini yazdırır. Karşılaştırma işleçleri "küçüktür"-le, "küçüktür veya eşit" -eq için, "eşittir", "eşit değil" -ne vb. için yazılır-lt.

For ($i = 1; $i -lt 3; $i++)
{
    $i
}

Parametreler

Bir betik yürüttüğünüzde, komut satırında bağımsız değişkenleri geçirebilirsiniz. Betiğin değerleri ayıklamasına yardımcı olmak için her parametreye ad verebilirsiniz. Örneğin:

.\setupEnvironment.ps1 -size 5 -location "East US"

Betiğin içinde değerleri değişkenler halinde yakalayacaksınız. Bu örnekte, parametreler ada göre eşleştirilmiştir:

param([string]$location, [int]$size)

Komut satırındaki adları atlayabilirsiniz. Örneğin:

.\setupEnvironment.ps1 5 "East US"

Betiğin içinde, parametreler adlandırılmadığında eşleştirme konumuna güveneceksiniz:

param([int]$size, [string]$location)

Bu parametreleri giriş olarak alabilir ve verilen parametrelerden bir vm kümesi oluşturmak için bir döngü kullanabiliriz. Sonraki adımda bunu deneyeceğiz.

PowerShell ile Azure PowerShell'in bileşimi, size Azure'u otomatik hale getirmek için gereken tüm araçları sağlar. CRM örneğimizde, betiği genel tutmak için bir parametre ve yinelenen kodu önlemek için bir döngü kullanarak birden çok Linux VM oluşturabileceğiz. Bu betik, eski adıyla karmaşık bir işlemi tek adımda yürütmemize olanak tanır.