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.


