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-Command cmdlet'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-Alias cmdlet'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.exe
    

    Ancak Get-Process'in Ad parametresi bir veya daha fazla dize alabilir.

    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Değ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 $true olarak 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-Alias cmdlet'i için Ad ve Value parametre değerleri gereklidir ancak parametre adları -Name ve -Value isteğe bağlıdır.

    New-Alias [-Name] <string> [-Value] <string>
    
    New-Alias MyAlias mycommand.exe
    

    Her 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-Alias cmdlet'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 ReadOnly veya AllScope gibi listelenen değerlerden herhangi birini seçebileceğinizi belirtir.

    New-Alias -Option ReadOnly
    

Ayrıca bakınız

  • about_Parameters
  • Get-Command
  • Get-Help

İlgili makaleler