about_Parameters
Kısa açıklama
PowerShell'de komut parametreleriyle nasıl çalışıldığı açıklanır.
Uzun açıklama
Cmdlet'ler, işlevler ve betikler gibi PowerShell komutlarının çoğu, kullanıcıların seçenekleri belirlemesine veya giriş sağlamasına olanak sağlamak için parametrelere dayanır. Parametreler komut adını izler ve aşağıdaki forma sahiptir:
-<parameter_name> <parameter_value>
-<parameter_name>:<parameter_value>
Parametrenin adından önce bir kısa çizgi ()-
eklenir. Bu, PowerShell'e kısa çizgiden sonraki sözcüğün parametre adı olduğunu bildirir. Parametre adı ve değeri bir boşluk veya iki nokta üst üste karakteriyle ayrılabilir. Bazı parametreler parametre değeri gerektirmez veya kabul etmemektedir. Diğer parametreler bir değer gerektirir, ancak komutta parametre adını gerektirmez.
Parametrelerin türü ve bu parametrelerin gereksinimleri farklılık gösterir. Bir komutun parametreleri hakkında bilgi bulmak için cmdlet'ini Get-Help
kullanın. Örneğin, cmdlet'in Get-ChildItem
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, komutla ilgili açıklama, komut söz dizimi, parametrelerle ilgili bilgiler ve komutta parametrelerin nasıl kullanılacağını gösteren örnekler gibi çeşitli ayrıntıları döndürür.
Belirli bir parametre hakkında bilgi bulmak için cmdlet'in Get-Help
Parametre parametresini de kullanabilirsiniz. Veya parametre parametresini joker karakter ( *
) değeriyle kullanarak komutun tüm parametreleri hakkında bilgi bulabilirsiniz. Örneğin, aşağıdaki komut cmdlet'in Get-Member
tüm parametreleri hakkında bilgi alır:
Get-Help Get-Member -Parameter *
Varsayılan parametre değerleri
İsteğe bağlı parametreler, komutta parametre belirtilmediğinde kullanılan veya varsayılan değer olan bir varsayılan değere sahiptir.
Örneğin, birçok cmdlet'in ComputerName parametresinin varsayılan değeri yerel bilgisayarın adıdır. Sonuç olarak, ComputerName 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 veya gelişmiş işlevin herhangi bir parametresi için özel bir varsayılan değer ayarlayabilirsiniz. Özel varsayılan değerleri ayarlama hakkında bilgi için bkz . about_Parameters_Default_Values.
Parametre öznitelik tablosu
Cmdlet'in Get-Help
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, parametresini kullanmak için bilmeniz gereken ayrıntıları içerir.
Örneğin, cmdlet'in Get-ChildItem
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öz dizimini, parametrenin açıklamasını ve parametre özniteliklerini içerir. Aşağıdaki bölümlerde parametre öznitelikleri açıklanmaktadır.
Parametre Gerekli
Bu ayar parametrenin zorunlu olup olmadığını, yani bu cmdlet'i kullanan tüm komutların bu parametreyi içermesi gerekip gerekmediğini gösterir. Değer True olduğunda ve komutta parametresi eksikse, PowerShell sizden parametre için bir değer ister.
Parametre Konumu
Position
Ayar negatif olmayan bir tamsayıya ayarlanırsa parametre adı gerekli değildir. Bu parametre türü konumsal parametre olarak adlandırılır ve sayı, parametrenin diğer konumsal parametrelerle ilişkili olarak görünmesi gereken konumu gösterir. Adlandırılmış parametre, cmdlet adından sonraki herhangi bir konumda listelenebilir. Konumsal parametrenin parametre adını eklerseniz, parametre cmdlet adından sonra herhangi bir konumda listelenebilir.
Örneğin, Get-ChildItem
cmdlet'in Path ve Exclude parametreleri vardır. Position
Path ayarı 0'dır ve bu da konumsal bir parametre olduğu anlamına gelir. Dışla ayarı adlandırılmıştır.Position
Bu, Path'in 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, bunu komuttaki herhangi bir konuma yerleştirebilirsiniz.
Bu iki parametrenin Position
ayarlarının bir sonucu olarak, 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 ekleyebilmeniz için, bu parametrenin ayar tarafından Position
belirtilen sırada 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 dizeyse, parametre değeri bir karakter dizesi olmalıdır.
Dize boşluk içeriyorsa, değerin tırnak içine alınması veya boşlukların önünde kaçış karakteri (`
) bulunmalıdır.
Varsayılan Değer
Bu ayar, başka bir değer sağlanmazsa parametrenin varsayacağı 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. Çoğu isteğe bağlı parametre için, parametresi kullanılmadığı takdirde hiçbir etkisi olmadığından varsayılan değer yoktur.
Birden Çok Değer Kabul Eder
Bu ayar, bir parametrenin birden çok parametre değeri kabul edip etmediğini gösterir. Parametre birden çok değer kabul ettiğinde, komuttaki parametrenin değeri olarak virgülle ayrılmış bir liste yazabilir veya virgülle ayrılmış listeyi (dizi) bir değişkene kaydedebilir ve ardından parametre değeri olarak değişkeni belirtebilirsiniz.
Örneğin, cmdlet'in Get-Service
Name parametresi birden çok değer kabul eder. Aşağıdaki komutların her ikisi de geçerlidir:
Get-Service -Name winrm, netlogon
$s = "winrm", "netlogon"
Get-Service -Name $s
İşlem Hattı Girişini Kabul Eder
Bu ayar, parametreye bir değer göndermek için işlem hattı işlecini (|
) 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 "True (Değere Göre)" olduğunda PowerShell, komutu yorumlamak için diğer yöntemleri denemeden önce kanallı 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, yalnızca değer Name adlı bir özelliğe sahip olduğunda name parametresine bir değer kanal oluşturabilirsiniz.
Not
İşlem hattı girişini () veya (by Value
by PropertyName
) kabul eden türlenmiş bir parametre, parametrede delay-bind betik bloklarının kullanılmasını sağlar.
Delay-bind betik bloğu ParameterBinding sırasında otomatik olarak çalıştırılır. Sonuç parametresine bağlıdır. Veya türü ScriptBlock
olarak tanımlanan parametreler için gecikme bağlaması çalışmaz, betik bloğu çağrılmadan geçirilir.System.Object
Gecikme bağlama betiği blokları hakkında bilgi edinmek için about_Script_Blocks.md dosyasını buradan okuyabilirsiniz
Joker Karakterleri Kabul Eder
Bu ayar, parametre değerinin joker karakter içerip içermediğini gösterir, böylece parametre değeri hedef kapsayıcıdaki birden fazla var olan öğeyle eşleştirilebilir.
Ortak Parametreler
Yaygın parametreler, herhangi bir cmdlet ile kullanabileceğiniz parametrelerdir. Yaygın parametreler hakkında daha fazla bilgi için bkz . about_CommonParameters.
Ayrıca bkz.
PowerShell