Komut Söz Dizimi hakkında
Kısa açıklama
PowerShell'de kullanılan sözdizimi diyagramlarını açıklar.
Uzun açıklama
Get-Help ve Get-Command cmdlet'leri, komutları doğru şekilde oluşturmanıza yardımcı olacak sözdizimi diyagramlarını görüntüler. Bu makalede sözdizimi diyagramlarının nasıl yorumlanacağı açıklanmaktadır.
Bir komutun sözdizimini alma
Bir komutun sözdizimini almanın iki yolu vardır: Get-Help ve Get-Command.
Get-Command
Get-Command komutu sisteminizdeki herhangi bir komut hakkında bilgi almak için kullanılabilir. Bir komutun söz dizimini almak için Sözdizimi parametresini kullanın.
Get-Command Get-Command -Syntax
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>] [-Noun <string[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <int>] [-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax] [-ShowCommandInfo]
[-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [-UseFuzzyMatching]
[-FuzzyMinimumDistance <uint>] [-UseAbbreviationExpansion]
[<CommonParameters>]
Get-Help
Get-Help komutu, sözdizimi, cmdlet'in ve parametrelerin ayrıntılı açıklaması ve örnekler de dahil olmak üzere PowerShell komutları hakkında ayrıntılı bilgi sağlar. Çıkış Get-Help komutu, komutun kısa bir açıklaması ve ardından sözdizimi ile başlar.
Get-Help Get-Command
Aşağıdaki çıktı, sözdizimi açıklamasına odaklanmak için kısaltılmıştır.
NAME
Get-Command
SYNOPSIS
Gets all commands.
SYNTAX
Get-Command [[-Name] <System.String[]>] [[-ArgumentList] <System.Object[]>]
[-All] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript |
Application | Script | Workflow | Configuration | All}]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-UseAbbreviationExpansion] [-UseFuzzyMatching] [<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-Noun <System.String[]>]
[-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-Verb <System.String[]>] [<CommonParameters>]
...
Get-Help çıktısı Get-Command çıktısından biraz farklıdır. CommandType parametresinin söz dizimindeki farklılığa dikkat edin. Get-Command, parametre türünü [CommandTypes] numaralandırması olarak gösterirken, Get-Help numaralandırma için olası değerleri gösterir.
Parametre Setleri
PowerShell komutunun parametreleri parametre kümelerinde listelenir. Bir PowerShell komutu bir veya daha fazla parametre kümesine sahip olabilir. Get-Command cmdlet'i önceki örneklerde gösterildiği gibi iki parametre kümesine sahiptir.
Cmdlet parametrelerinden bazıları bir parametre kümesine özgüdür ve diğerleri birden çok parametre kümesinde görünür. Her parametre seti geçerli bir komutun formatını temsil eder. Bir parametre seti yalnızca bir komutta birlikte kullanılabilen parametreleri içerir. Parametreler aynı komutta kullanılamadığında ayrı parametre setlerinde listelenirler.
Örneğin, Get-Random cmdlet'i aşağıdaki parametre kümelerine sahiptir:
$cmd = Get-Command Get-Random
$cmd.ParameterSets |
Select-Object Name, IsDefault, @{n='Parameters';e={$_.ToString()}} |
Format-Table -Wrap
Name IsDefault Parameters
---- --------- ----------
RandomNumberParameterSet True [[-Maximum] <Object>] [-SetSeed <int>]
[-Minimum <Object>] [-Count <int>]
[<CommonParameters>]
RandomListItemParameterSet False [-InputObject] <Object[]> [-SetSeed <int>]
[-Count <int>] [<CommonParameters>]
ShuffleParameterSet False [-InputObject] <Object[]> -Shuffle
[-SetSeed <int>] [<CommonParameters>]
- İlk parametre seti bir veya daha fazla rastgele sayı döndürür ve Minimum, Maksimum ve Sayma parametrelerine sahiptir.
- İkinci parametre seti, bir dizi nesneden rastgele seçilen bir nesneyi döndürür ve InputObject ve Count parametrelerini içerir.
- Üçüncü parametre kümesi, bir kart destesinin karıştırılması gibi, nesnelerin bir koleksiyonunu rastgele sırada döndüren Karıştır parametresine sahiptir.
- Tüm parametre kümeleri SetSeed parametresine ve ortak parametrelere sahiptir.
Bu parametre kümeleri, aynı komutta InputObject ve Count parametrelerini kullanabileceğinizi ancak Maximum ve 'yi kullanamayacağınızı gösterir. >Parametreleri birlikte karıştırın.
Her cmdlet'in ayrıca varsayılan bir parametre seti vardır. Bir parametre setine özgü parametreleri belirtmediğinizde varsayılan parametre seti kullanılır. Örneğin, Get-Random'u parametresiz kullanırsanız PowerShell, RandomNumberParameterSet parametre kümesini kullandığınızı varsayar ve rastgele bir sayı döndürür.
Sözdizimi Diyagramlarındaki Semboller
Sözdizimi diyagramı komut adını, komut parametrelerini ve parametre değerlerini listeler.
Sözdizimi diyagramları aşağıdaki sembolleri kullanır:
Kısa çizgi
-parametre adını belirtir. Bir komutta, sözdizimi diyagramında gösterildiği gibi, parametre adının hemen önüne, arada boşluk bırakmadan kısa çizgiyi yazın.Örneğin,
Get-Command'ın Ad parametresini kullanmak için şunu yazın:Get-Command -Name.
Açılı ayraçlar
< >yer tutucu metni belirtir. Bir komutta açılı ayraçları veya yer tutucu metni yazmazsınız. Bunun yerine, onu tanımladığı öğeyle değiştirirsiniz.Açılı parantezlerin içindeki yer tutucu, bir parametrenin aldığı değerin .NET türünü tanımlar. Örneğin,
Get-Commandcmdlet'inin Ad parametresini kullanmak için<string[]>öğesini ayrılmış bir veya daha fazla dizeyle değiştirirsiniz virgülle (,).
.NET türüne eklenen
[]parantezleri, parametrenin o türden bir veya daha fazla değeri kabul edebileceğini gösterir. Değerleri virgülle ayrılmış liste olarak girin.Örneğin,
Yeni-Aliascmdlet'inin Ad ve Value parametrelerinin her biri yalnızca bir dize alır.New-Alias [-Name] <string> [-Value] <string>New-Alias -Name MyAlias -Value mycommand.exeAncak Get-Process'in Ad parametresi bir veya daha fazla dize alabilir.
Get-Process [-Name] <string[]>Get-Process -Name Explorer, Winlogon, ServicesDeğeri olmayan parametreler
Bazı parametreler girdi kabul etmediğinden parametre değeri yoktur. Değeri olmayan parametreler parametreleri değiştir'dir. Anahtar parametreleri boole değerleri gibi kullanılır. Varsayılan olarak
$falseşeklindedirler. Bir anahtar parametresi kullandığınızda değer$trueolarak ayarlanır.Örneğin,
Get-Command'ın ListImported parametresi bir switch parametresidir. ListImported parametresini kullandığınızda cmdlet yalnızca geçerli oturumdaki modüllerden içe aktarılan komutları döndürür.Get-Command [-ListImported]
Parametrelerin etrafındaki
[ ]parantezleri isteğe bağlı öğeleri belirtir. Bir parametre ve değeri isteğe bağlı olabilir. Örneğin,Get-Command'ın CommandType parametresi ve değeri, her ikisi de isteğe bağlı olduğundan parantez içine alınmıştır.Get-Command [-CommandType <CommandTypes>]Parametre adının etrafındaki parantezler, ancak parametre değeri değil, parametre adının isteğe bağlı olduğunu gösterir. Bu parametreler konumsal parametreler olarak bilinir. Değerlerin doğru parametreye bağlanması için parametre değerlerinin doğru sırada sunulması gerekir.
Örneğin,
Yeni-Aliascmdlet'i için Ad ve Value parametre değerleri gereklidir ancak parametre adları-Nameve-Valueisteğe bağlıdır.New-Alias [-Name] <string> [-Value] <string>New-Alias MyAlias mycommand.exeHer parametre setinde parametreler konum sırasına göre görünür. Bir komuttaki parametrelerin sırası yalnızca isteğe bağlı parametre adlarını atladığınızda önemlidir. Parametre adları atlandığında PowerShell, parametrelere konuma ve türe göre değerler atar. Parametre konumu hakkında daha fazla bilgi için bkz. about_Parameters.
Parantez
{comcode>, bir parametre için geçerli değerler kümesi olan bir "numaralandırmayı" belirtir.Parantez içindeki değerler dikey çubuklarla
|ile ayrılır. Bu çubuklar hariç VEYA seçimini belirtir; bu, parantez içinde listelenen değer kümesinden yalnızca bir değer seçebileceğiniz anlamına gelir.Örneğin,
New-Aliascmdlet'inin sözdizimi, Option parametresi için aşağıdaki değer numaralandırmasını içerir:New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}Parantez ve dikey çubuklar, Option parametresi için
ReadOnlyveyaAllScopegibi listelenen değerlerden herhangi birini seçebileceğinizi belirtir.New-Alias -Option ReadOnly
Ayrıca bakınız
- about_Parameters
- Get-Command
- Get-Help