Aracılığıyla paylaş


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 Valueby 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.