about_Command_Syntax

Rövid leírás

A PowerShellben használt szintaxisdiagramokat ismerteti.

Hosszú leírás

A Get-Help és a Get-Command parancsmagok szintaxisdiagramokat jelenítenek meg, amelyek segítenek a parancsok helyes összeállításában. Ez a cikk a szintaxisdiagramok értelmezését ismerteti.

Parancs szintaxisának lekérése

A parancsok szintaxisát kétféleképpen lehet lekérni: Get-Help és Get-Command.

Get-Command

A Get-Command parancs segítségével információkat kaphat a rendszer bármely parancsáról. A Szintaxis paraméterrel lekérheti egy parancs szintaxisát.

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

A Get-Help parancs részletes információkat nyújt a PowerShell-parancsokról, beleértve a szintaxist, a parancsmag és a paraméterek részletes leírását, valamint példákat. A kimeneti Get-Help parancs a parancs rövid leírásával, majd a szintaxissal kezdődik.

Get-Help Get-Command

A következő kimenet a szintaxis leírására való összpontosítás érdekében rövidült.

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

A kimenet Get-Help kissé eltér a kimenetétől Get-Command. Figyelje meg a CommandType paraméter szintaxisának különbségét . Get-Command a paramétertípust enumerálásként [CommandTypes] jeleníti meg, míg Get-Help az enumerálás lehetséges értékeit.

Paraméterkészletek

A PowerShell-parancs paraméterei a paraméterkészletekben vannak felsorolva. A PowerShell-parancsok egy vagy több paraméterkészlettel is rendelkezhetnek. A Get-Command parancsmag két paraméterkészlettel rendelkezik, ahogyan az az előző példákban is látható.

A parancsmag egyes paraméterei egyediek egy paraméterkészletben, mások pedig több paraméterkészletben jelennek meg. Minden paraméterkészlet egy érvényes parancs formátumát jelöli. A paraméterkészletek csak olyan paramétereket tartalmaznak, amelyek együtt használhatók egy parancsban. Ha a paraméterek nem használhatók ugyanabban a parancsban, külön paraméterkészletekben jelennek meg.

A Get-Random parancsmag például a következő paraméterkészletekkel rendelkezik:

$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>]
  • Az első paraméterkészlet egy vagy több véletlenszerű számot ad vissza, és a Minimum, a Maximum és a Count paramétert tartalmazza.
  • A második paraméterkészlet egy véletlenszerűen kiválasztott objektumot ad vissza egy objektumkészletből, és tartalmazza az InputObject és a Count paramétereket.
  • A harmadik paraméterkészlet a Shuffle paraméterrel rendelkezik, amely véletlenszerű sorrendben ad vissza egy objektumgyűjteményt, például egy kártyacsomagot.
  • Minden paraméterkészlethez a SetSeed paraméter és a közös paraméterek tartoznak.

Ezek a paraméterkészletek azt mutatják, hogy ugyanabban a parancsban használhatja az InputObject és a Count paramétereket, de a Maximális és az Shuffle paraméterek nem használhatók együtt.

Minden parancsmaghoz tartozik egy alapértelmezett paraméterkészlet is. Az alapértelmezett paraméterkészlet akkor használatos, ha nem ad meg olyan paramétereket, amelyek egyediek egy paraméterkészlethez. Ha például paraméterek nélkül használja Get-Random , a PowerShell feltételezi, hogy a RandomNumberParameterSet paraméterkészletet használja, és véletlenszerű számot ad vissza.

Szimbólumok szintaxisdiagramokban

A szintaxisdiagram a parancs nevét, a parancsparamétereket és a paraméterértékeket sorolja fel.

A szintaxisdiagramok a következő szimbólumokat használják:

  • A kötőjel - egy paraméternevet jelez. Egy parancsba írja be a kötőjelet közvetlenül a paraméter neve elé beavatkozó szóközök nélkül, ahogy az a szintaxisdiagramon is látható.

    Például a Név paraméter Get-Commandhasználatához írja be a következőt: Get-Command -Name.

  • A szögletes zárójelek < > helyőrző szöveget jelölnek. A parancsban nem írja be a szögletes zárójeleket vagy a helyőrző szöveget. Ehelyett az általa leírt elemre cseréli.

    A szögletes zárójeleken belüli helyőrző azonosítja a paraméter által használt érték .NET-típusát. A parancsmag Név paraméterének Get-Command használatához például a <string[]> parancsmagot egy vagy több vesszővel (,vesszővel elválasztott) sztringre kell cserélni.

  • A .NET-típushoz fűzött zárójelek azt jelzik [] , hogy a paraméter elfogadhat egy vagy több ilyen típusú értéket. Adja meg az értékeket vesszővel tagolt listaként.

    A parancsmag név- és értékparaméterei New-Alias például csak egy sztringet vesznek fel.

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

    A Get-Process Név paramétere azonban egy vagy több sztringet is tartalmazhat.

    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • Értékek nélküli paraméterek

    Egyes paraméterek nem fogadják el a bemenetet, ezért nem rendelkeznek paraméterértékkel. Az értékek nélküli paraméterek kapcsolóparaméterek. A kapcsolóparaméterek a logikai értékekhez hasonlóan használhatók. Alapértelmezés szerint a .$false Kapcsolóparaméter használata esetén az érték a következőre $truevan állítva: .

    A ListImported paraméter Get-Command például egy kapcsolóparaméter. A ListImported paraméter használatakor a parancsmag csak az aktuális munkamenet moduljaiból importált parancsokat adja vissza.

    Get-Command [-ListImported]
    
  • [ ] A paraméterek körüli zárójelek opcionális elemeket jelölnek. Egy paraméter és annak értéke nem kötelező. Például a CommandType paraméter Get-Command és annak értéke szögletes zárójelek közé van zárva, mert mindkettő nem kötelező.

    Get-Command [-CommandType <CommandTypes>]
    

    A paraméter neve körüli zárójelek, de a paraméter értéke nem azt jelzik, hogy a paraméter neve nem kötelező. Ezeket a paramétereket pozícióparamétereknek nevezzük. A paraméterértékeket a megfelelő sorrendben kell megadni ahhoz, hogy az értékek a megfelelő paraméterhez legyenek kötve.

    A parancsmaghoz New-Alias például a Név és az Érték paraméterértékekre van szükség, de a paraméternevek -Name és -Valuea , nem kötelezőek.

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

    Minden paraméterkészletben a paraméterek pozíció sorrendben jelennek meg. A parancs paramétereinek sorrendje csak akkor számít, ha kihagyja az opcionális paraméterneveket. Ha a paraméternevek nincsenek megadva, a PowerShell pozíció és típus szerint rendel értékeket a paraméterekhez. A paraméter helyzetéről további információt a about_Parameters talál.

  • A zárójelek {} "számbavételt" jeleznek, amely egy paraméter érvényes értékeinek halmaza.

    A kapcsos zárójelek értékeit függőleges sávok |választják el egymástól. Ezek a sávok kizárólagos VAGY választást jeleznek, ami azt jelenti, hogy a zárójelek között felsorolt értékek közül csak egy érték választható ki.

    A parancsmag szintaxisa New-Alias például az Option paraméter következő értékének számbavételét tartalmazza:

    New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
    

    A kapcsos zárójelek és a függőleges sávok azt jelzik, hogy az Option paraméter felsorolt értékei közül bármelyiket kiválaszthatja, például ReadOnly vagyAllScope.

    New-Alias -Option ReadOnly
    

Lásd még