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-Command
haszná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$true
van á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éterGet-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-Value
a , 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