Powershell Parametresi | Bir Parametrenin Niteliklerini Öğrenin


Powershell Parametresine Giriş

Bir parametre, bir işleve veya herhangi bir cmdlet'e sağlanan girdiden başka bir şey değildir. Her parametrenin bir adı ve onunla ilişkilendirilmiş bir veri türü olacaktır. Parametrelerin zorunlu olması her zaman gerekli değildir. Bazı parametrelerin varsayılan değerleri de olabilir ve bu değerler, parametre için açıkça bir değer belirtilmediğinde kullanılır. Bir fonksiyon için parametreler Param bloğuyla tanımlanır. Zorunlu parametreler, [Parametre (Zorunlu)] özelliği kullanılarak tanımlanır. ValidateSet özelliğini kullanarak her parametreye iletilen değeri doğrulamak da mümkündür. Parametre adlarının önünde her zaman kısa çizgi (-) bulunur; bu, PowerShell'de (-) sonrasındaki kelimenin bir parametre olduğunu belirtir. Bu makalede, PowerShell'deki parametreler ve türleri, çeşitli parametre türleri, parametrelerin bir işleve nasıl aktarılacağı vb. hakkında ayrıntılı olarak açıklanacaktır.

Powershell Parametresinin Söz Dizimi

Aşağıdaki örnek, parametrelerin bir cmdlet'e nasıl aktarılacağını gösterir

Get-ChildItem -Path “C:\vignesh\test”

Yukarıdaki örnekte yol, cmdlet'in bir parametresidir ve parametrenin karşılık gelen değeri " " içine alınmıştır.

Bir fonksiyonun parametrelerini tanımlamak için aşağıdaki format kullanılır

param(
[Parameter()]
[string]$Testparameter1
[Parameter()]
[string]$Testparameter2
[Parameter()]
[int]$Testparameter3
)

Bir cmdlet'le ilişkili çeşitli parametreleri tanımlama:

Bir cmdlet için mevcut olan çeşitli parametreleri tanımlamak için aşağıdaki cmdlet kullanılabilir.

Get-Help CmdletName -Parameter *

Örnek:

Get-Help out-file -Parameter *

Çıktı:

Yukarıda Out-File cmdlet'iyle ilişkili çeşitli parametreler gösterilmektedir. Ayrıca bir parametrenin zorunlu olup olmadığını, konumunu, takma adlarını da gösterir.

Bir parametrenin özellikleri

Aşağıda belirtilen bir parametrenin özellikleri bulunmaktadır.

-Required

Bu, parametrenin bu cmdlet'i çalıştırmak için zorunlu olup olmadığını gösterir. Bu değer bir parametre için doğruysa bu zorunlu bir parametre olduğu anlamına gelir. Bu parametre için uygun değer iletilmezse hata atılır.

-Position

Konumsal parametreler, konumu pozitif bir tam sayıya ayarlanmış parametrelerdir. Bu tip parametre kullanıldığında parametre ismine gerek yoktur ancak uygun yerde parametre değerinin belirtilmesi gerekmektedir. Konum değeri 0 ise parametre adı gerekli değildir ancak değeri cmdlet adından sonra ilk görünen değer olmalıdır. Konum ayarı hariç tutulursa cmdlet'in herhangi bir yerinde tanımlanabilir.

-Type

String, int, switchler vb. gibi parametrenin türünü belirtir.

-Varsayılan Değer

Bu, başka bir değer belirtilmediğinde parametrenin varsayılan değerini belirtir. Gerekli bir parametre için hiçbir zaman varsayılan bir değer yoktur ve her zaman kullanıcı tarafından sağlanır. Birçok isteğe bağlı parametre için, isteğe bağlı parametrelerin fazla önemi olmadığından varsayılan değerler yoktur.

-Birden Fazla Değeri Kabul Eder

Bu, bir parametrenin birden fazla değeri kabul edip edemeyeceğini gösterir. Birden fazla değere izin veriliyorsa bunlar virgülle ayrılarak yazıp iletilir veya değerler virgülle ayrılarak bir değişkene kaydedilip o değişken parametreye değer olarak aktarılabilir.

-Boru Hattı Girişini Kabul Ediyor

Bu, boru hattının parametreye giriş olarak geçirilip geçirilemeyeceğini belirtir. Değeri false ise parametrenin bir giriş için ardışık düzeni kabul etmediğini gösterir.

-Joker karakterlerini kabul eder

Bu, parametrenin karakterleri eşleştirmek için joker karakteri kullanıp kullanamayacağını belirtir.

Parametrelerin Doğrulanması

Aşağıda bir parametreye iletilen değeri doğrulamanın bazı yolları verilmiştir.

1. Bir parametreyi Zorunlu hale getirme ve Boş Değere izin verme

Zorunlu parametre, bir parametrenin zorunlu olarak bir değer gerektirip gerektirmediğini belirtmek için kullanılır. AllowNull özelliği, değer olarak boş değerlere izin vermek için kullanılır.

Örnek:

Param(
[Parameter(Mandatory=$true)]
[AllowNull()]
[String]
$UserName
)

Yukarıda KullanıcıAdı zorunlu bir parametredir ve bir değer olarak null değerini kabul eder.

2. AllowEmptyString doğrulama özelliği

Bu özellik, boş dizenin zorunlu parametreye değer olarak eklenmesine izin vermek için kullanılır. Boş toplamaya izin ver özelliği, zorunlu bir dize parametresine değer olarak boş toplamaya izin vermek için kullanılır.

Örnek:

Param(
[Parameter(Mandatory=$true)]
[AllowNull()]
[AllowEmptyCollection()]
[String]
$UserName
)

ValidateCount özelliği, bir parametreye aktarılabilecek değerlerin sayısını doğrulamak için kullanılır.

ValidateLenght özelliği, bir parametreye iletilen değerin minimum ve maksimum uzunluğunu belirtmek için kullanılır.

Validatepattern, normal bir ifadeyi parametreye iletilen değerle eşleştirmek için kullanılır.

ValdiateRange, değişkenin değerinin içinde olması gereken aralığı belirtir.

ValidateSet, parametre için değerlerden birinin iletilmesi gereken bir değerler kümesini belirtir. Bu setin dışındaki değer parametreye ayarlanamaz.

ValidateDrive, belirli bir sürücüye giden yol parametresinin değerini doğrulamak için kullanılır

Örnek:

Param(
[Parameter(Mandatory=$true)]
[AllowNull()]
[AllowEmptyCollection()]
[ValidateCount(5,50)]
[ValidateLength(10,20)]
[ValidatePattern("[1-9][0-4][4-9][1-4]")]
[ValidateDrive("C", "Function", "Drive")]
[String]
$UserName
)
Example:

Input:

Write-Host "Welcome to parameter example" function test1() { Write-Host "Demo of function without any parameter" Write-Host "Function without parameters is called" } #calling test1 function test1 function test2($username) { Write-Host "Demo of Function with a single parameter" Write-Host "the value of username supplied is" $username } #calling test2 function with parameter test2 -username "Viki" function test2 { Param( [parameter(Mandatory=$true)] [ValidateLength(1,30)] [String] $Name, [parameter(Mandatory=$true)] [Int] $age, [parameter(Mandatory=$true)] [ValidateSet("Chennai", "Mumbai", "Delhi")] [String] $City ) Write-Host "Demo of fucntion with multiple parameters" Write-Host "The name supplied is" $Name Write-Host "the age supplied is "$age Write-Host "The city passed is " $City } #function calling test2 -Name "Vignesh" -age 28 -City Chennai function test3 { Param( [parameter(position=1)] [ValidateLength(1,30)] [String] $Name, [parameter(position=2)] [Int] $age, [parameter(position=3)] [ValidateSet("Chennai", "Mumbai", "Delhi")] [String] $City ) Write-Host "Demo of fucntion with Positional parameters" Write-Host "The name supplied is" $Name Write-Host "the age supplied is "$age Write-Host "The city passed is " $City } #function calling test3 "viki" 35 "Chennai"

Çıktı:

Sonuç - Powershell Parametresi

Bu nedenle makale PowerShell'deki parametreler hakkında ayrıntılı olarak ele alınmıştır. Çeşitli parametre türlerini, bir parametreyle ilişkili çeşitli nitelikleri, farklı parametre türlerini, zorunlu ve zorunlu olmayan parametreleri, parametrelerin doğrulanmasını vb. kapsamıştır. Parametreler hakkında daha ayrıntılı bilgi edinmek için örnek komut dosyaları ve örnek komut dosyaları yazmanız önerilir. onları idam edin.

İlgili makaleler