Parametreler hakkında
Kısa açıklama
PowerShell'de komut parametreleriyle nasıl çalışılacağını açıklar.
Uzun açıklama
Cmdlet'ler, işlevler ve komut dosyaları gibi çoğu PowerShell komutu, kullanıcıların seçenekleri seçmesine veya giriş sağlamasına olanak tanıyan parametrelere dayanır. Parametreler komut adını takip eder ve aşağıdaki forma sahiptir:
-<parameter_name> <parameter_value>
-<parameter_name>:<parameter_value>
Parametre adının önünde bir kısa çizgi (-) bulunur; bu, PowerShell'e kısa çizgiyi takip eden kelimenin bir parametre adı olduğunu bildirir. Parametre adı ve değeri boşluk veya iki nokta üst üste karakteriyle ayrılabilir. Bazı parametreler parametre değeri gerektirmez veya kabul etmez. Diğer parametreler bir değer gerektirir ancak komutta parametre adını gerektirmez.
Parametrelerin türü ve bu parametrelere yönelik gereksinimler farklılık gösterir. Bir komutun parametreleri hakkında bilgi bulmak için Get-Help cmdlet'ini kullanın. Örneğin, Get-ChildItem cmdlet'inin parametreleri hakkında bilgi bulmak için şunu yazın:
Get-Help Get-ChildItem
Bir betiğin parametreleri hakkında bilgi bulmak için betik dosyasının tam yolunu kullanın. Örneğin:
Get-Help $HOME\Documents\Scripts\Get-Function.ps1
Get-Help cmdlet'i, bir açıklama, komut sözdizimi, parametrelerle ilgili bilgiler ve parametrelerin bir komutta nasıl kullanılacağını gösteren örnekler dahil olmak üzere komutla ilgili çeşitli ayrıntıları döndürür.
Belirli bir parametre hakkında bilgi bulmak için Get-Help cmdlet'inin Parametre parametresini de kullanabilirsiniz. Veya komutun tüm parametreleri hakkında bilgi bulmak için Parameter parametresini joker karakter ( * ) değeriyle birlikte kullanabilirsiniz. Örneğin, aşağıdaki komut Get-Member cmdlet'inin tüm parametreleri hakkında bilgi alır:
Get-Help Get-Member -Parameter *
Varsayılan parametre değerleri
İsteğe bağlı parametrelerin, parametre komutta belirtilmediğinde kullanılan veya varsayılan değer olan varsayılan bir değeri vardır.
Örneğin, birçok cmdlet'in BilgisayarAdı parametresinin varsayılan değeri, yerel bilgisayarın adıdır. Sonuç olarak, BilgisayarAdı parametresi belirtilmediği sürece komutta yerel bilgisayar adı kullanılır.
Varsayılan parametre değerini bulmak için cmdlet'in yardım konusuna bakın. Parametre açıklaması varsayılan değeri içermelidir.
Ayrıca bir cmdlet'in veya gelişmiş işlevin herhangi bir parametresi için özel bir varsayılan değer de ayarlayabilirsiniz. Özel varsayılan değerleri ayarlama hakkında bilgi için bkz. about_Parameters_Default_Values.
Parametre özellik tablosu
Get-Help cmdlet'inin Tam, Parametre veya Çevrimiçi parametrelerini kullandığınızda, Get -Help, parametre hakkında ayrıntılı bilgi içeren bir parametre öznitelik tablosu görüntüler.
Bu bilgiler parametreyi kullanmak için bilmeniz gereken detayları içerir. Örneğin, Get-ChildItem cmdlet'inin yardım konusu, Path parametresiyle ilgili aşağıdaki ayrıntıları içerir:
-Path <string[]>
Specifies a path of one or more locations. Wildcard characters are
permitted. The default location is the current directory (.).
Required? false
Position? 0
Default value Current directory
Accept pipeline input? true (ByValue, ByPropertyName)
Accept wildcard characters? true
Parametre bilgileri parametre sözdizimini, parametrenin açıklamasını ve parametre niteliklerini içerir. Aşağıdaki bölümlerde parametre nitelikleri açıklanmaktadır.
Parametre Gerekli
Bu ayar, parametrenin zorunlu olup olmadığını, yani bu cmdlet'i kullanan tüm komutların bu parametreyi içermesinin gerekip gerekmediğini belirtir. Değer True olduğunda ve parametre komutta eksik olduğunda PowerShell sizden parametre için bir değer girmenizi ister.
Parametre Konumu
Pozisyon ayarı negatif olmayan bir tam sayıya ayarlanmışsa parametre adı gerekli değildir. Bu tür parametreye konum parametresi adı verilir ve sayı, parametrenin diğer konum parametrelerine göre görünmesi gereken konumu belirtir. Adlandırılmış bir parametre, cmdlet adından sonraki herhangi bir konumda listelenebilir. Konumsal bir parametre için parametre adını eklerseniz parametre, cmdlet adından sonraki herhangi bir konumda listelenebilir.
Örneğin, Get-ChildItem cmdlet'i Path ve Exclude parametrelerine sahiptir. Yol için Konum ayarı 0'dır; bu, bunun konumsal bir parametre olduğu anlamına gelir. Hariç Tut için Konum ayarı adlandırılır.
Bu, Yol'un parametre adını gerektirmediği, ancak parametre değerinin komuttaki ilk veya tek adsız parametre değeri olması gerektiği anlamına gelir. Ancak Exclude parametresi adlandırılmış bir parametre olduğundan, onu komutta herhangi bir konuma yerleştirebilirsiniz.
Bu iki parametreye ilişkin Konum ayarları sonucunda aşağıdaki komutlardan herhangi birini kullanabilirsiniz:
Get-ChildItem -Path c:\techdocs -Exclude *.ppt
Get-ChildItem c:\techdocs -Exclude *.ppt
Get-ChildItem -Exclude *.ppt -Path c:\techdocs
Get-ChildItem -Exclude *.ppt c:\techdocs
Parametre adını eklemeden başka bir konumsal parametre ekleyecekseniz, bu parametrenin Position ayarı tarafından belirtilen sıraya göre yerleştirilmesi gerekir.
Parametre Türü
Bu ayar, parametre değerinin Microsoft .NET Framework türünü belirtir. Örneğin tür Int32 ise parametre değeri bir tamsayı olmalıdır. Tür string ise parametre değeri bir karakter dizisi olmalıdır. Dize boşluk içeriyorsa, değer tırnak işaretleri içine alınmalı veya boşlukların önüne kaçış karakteri (`) gelmelidir.
Varsayılan Değer
Bu ayar, başka bir değer sağlanmadığında parametrenin üstleneceği değeri belirtir. Örneğin, Path parametresinin varsayılan değeri genellikle geçerli dizindir. Gerekli parametrelerin hiçbir zaman varsayılan değeri yoktur. Birçok isteğe bağlı parametre için varsayılan değer yoktur çünkü parametrenin kullanılmadığı takdirde hiçbir etkisi yoktur.
Birden Çok Değeri Kabul Eder
Bu ayar, bir parametrenin birden fazla parametre değerini kabul edip etmediğini gösterir. Bir parametre birden çok değeri kabul ettiğinde, komutta parametrenin değeri olarak virgülle ayrılmış bir liste yazabilir veya virgülle ayrılmış bir listeyi (dizi) bir değişkene kaydedebilir ve ardından değişkeni parametre değeri olarak belirtebilirsiniz.
Örneğin, Get-Service cmdlet'inin Ad parametresi birden çok değeri kabul eder. Aşağıdaki komutların her ikisi de geçerlidir:
Get-Service -Name winrm, netlogon
$s = "winrm", "netlogon"
Get-Service -Name $s
Boru Hattı Girişini Kabul Ediyor
Bu ayar, parametreye bir değer göndermek için ardışık düzen operatörünü (|) kullanıp kullanamayacağınızı gösterir.
Value Description
----- -----------
False Indicates that you cannot pipe a value to the
parameter.
True (by Value) Indicates that you can pipe any value to the
parameter, just so the value has the .NET
Framework type specified for the parameter or the
value can be converted to the specified .NET
Framework type.
Bir parametre "Doğru (Değere Göre)" olduğunda PowerShell, komutu yorumlamak için diğer yöntemleri denemeden önce aktarılan değerleri bu parametreyle ilişkilendirmeye çalışır.
True (by Property Name) Indicates that you can pipe a value to the
parameter, but the .NET Framework type of the
parameter must include a property with the same
name as the parameter.
Örneğin, bir değeri yalnızca Ad adlı bir özelliğe sahip olduğunda Ad parametresine aktarabilirsiniz.
Not
Ardışık düzen girişini (Değer'e göre) veya (ÖzellikAdı'na göre) kabul eden yazılı bir parametre, parametre üzerinde delay-bind komut dosyası bloklarının kullanılmasına olanak tanır.
delay-bind komut dosyası bloğu, ParameterBinding sırasında otomatik olarak çalıştırılır. Sonuç parametreye bağlıdır. Gecikme bağlama, ScriptBlock veya System.Object türü olarak tanımlanan parametreler için çalışmaz; komut dosyası bloğu olmadan geçirilir. > çağrılıyor.
delay-bind komut dosyası blokları hakkında buradan bilgi alabilirsiniz about_Script_Blocks.md
Joker Karakterleri Kabul Eder
Bu ayar, parametre değerinin hedef kapsayıcıda birden fazla mevcut öğeyle eşleştirilebilmesi için parametre değerinin joker karakterler içerip içermediğini belirtir.
Ortak Parametreler
Ortak parametreler herhangi bir cmdlet ile kullanabileceğiniz parametrelerdir. Ortak parametreler hakkında daha fazla bilgi için bkz. about_CommonParameters.
Ayrıca bakınız
- about_Command_sözdizimi
- about_Comment_Based_Help
- about_Functions_Advanced
- about_Parameters_Default_Values
- about_Pipelines
- about_Wildcards