about_Parameters

Rövid leírás

A parancsparaméterek PowerShellben való használatát ismerteti.

Hosszú leírás

A Legtöbb PowerShell-parancs, például parancsmagok, függvények és szkriptek paraméterekre támaszkodnak, hogy lehetővé tegyék a felhasználók számára a beállítások kiválasztását vagy a bemenet megadását. A paraméterek a parancs nevét követik, és a következő űrlappal rendelkeznek:

-<parameter_name> <parameter_value>
-<parameter_name>:<parameter_value>

A paraméter nevét egy kötőjel (-kötőjel) előzi meg, amely azt jelzi a PowerShellnek, hogy a kötőjelet követő szó paraméternév. A paraméter neve és értéke szóközzel vagy kettőspont karakterrel elválasztható. Egyes paraméterek nem igényelnek vagy fogadnak el paraméterértéket. Más paramétereknek értékre van szükségük, de a parancsban nincs szükség a paraméter nevére.

A paraméterek típusa és a paraméterek követelményei eltérőek. A parancs paramétereivel kapcsolatos információkért használja a Get-Help parancsmagot. Ha például a parancsmag paramétereiről szeretne információt találni, írja be a Get-ChildItem következőt:

Get-Help Get-ChildItem

A szkript paramétereivel kapcsolatos információk kereséséhez használja a szkriptfájl teljes elérési útját. Példa:

Get-Help $HOME\Documents\Scripts\Get-Function.ps1

A Get-Help parancsmag különböző részleteket ad vissza a parancsról, beleértve a leírást, a parancs szintaxisát, a paraméterekkel kapcsolatos információkat, valamint példákat a parancs paramétereinek használatára.

A parancsmag Paraméter paraméterével Get-Help is kereshet információkat egy adott paraméterről. Vagy használhatja a Paraméter paramétert a helyettesítő karakter ( * ) értékével a parancs összes paraméterével kapcsolatos információk megtalálásához. A következő parancs például a parancsmag összes paraméteréről Get-Member kap információt:

Get-Help Get-Member -Parameter *

Alapértelmezett paraméterértékek

Az opcionális paraméterek alapértelmezett értékkel rendelkeznek, amely az az érték, amelyet akkor használunk vagy feltételezünk, ha a paraméter nincs megadva a parancsban.

Számos parancsmag ComputerName paraméterének alapértelmezett értéke például a helyi számítógép neve. Ennek eredményeképpen a parancs a helyi számítógépnevet használja, hacsak nincs megadva a ComputerName paraméter.

Az alapértelmezett paraméterérték megkereséséhez tekintse meg a parancsmag súgótémakörét. A paraméter leírásának tartalmaznia kell az alapértelmezett értéket.

A parancsmagok vagy speciális függvények bármely paraméteréhez beállíthat egyéni alapértelmezett értéket. Az egyéni alapértelmezett értékek beállításáról további információt a about_Parameters_Default_Values talál.

Paraméterattribútum-tábla

Ha a parancsmag Teljes, Paraméter vagy Online paraméterét Get-Help használja, egy paraméterattribútum-táblát jelenít meg, Get-Help amely részletes információkat tartalmaz a paraméterről.

Ez az információ tartalmazza a paraméter használatához szükséges információkat. A parancsmag súgótémaköre Get-ChildItem például a következő részleteket tartalmazza az Elérési út paraméterről:

-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

A paraméterinformációk tartalmazzák a paraméter szintaxisát, a paraméter leírását és a paraméterattribútumokat. A következő szakaszok a paraméterattribútumokat ismertetik.

Paraméter megadása kötelező

Ez a beállítás azt jelzi, hogy a paraméter kötelező-e, vagyis hogy a parancsmagot használó összes parancsnak tartalmaznia kell-e ezt a paramétert. Ha az érték Igaz , és a paraméter hiányzik a parancsból, a PowerShell kéri a paraméter értékét.

Paraméter pozíciója

Ha a Position beállítás nem negatív egész számra van állítva, a paraméter neve nem kötelező. Ezt a paramétertípust pozícióparaméternek nevezzük, a szám pedig azt a pozíciót jelzi, amelyben a paraméternek más pozícióparaméterekhez képest kell megjelennie. Egy elnevezett paraméter a parancsmag neve után bármilyen pozícióban listázható. Ha egy pozícióparaméter paraméternevét is tartalmazza, a paraméter a parancsmag neve után bármely pozícióban szerepelhet.

A parancsmag például Get-ChildItem elérési út és kizárás paraméterekkel rendelkezik. Az Position Elérési útbeállítása 0, ami azt jelenti, hogy egy pozícióparaméter. A Position Kizárás beállítás neve el van nevezve.

Ez azt jelenti, hogy az Elérési út nem követeli meg a paraméter nevét, de a paraméterértéknek a parancs első vagy csak névtelen paraméterértékének kell lennie. Mivel azonban a Kizárás paraméter egy elnevezett paraméter, a parancs bármely helyére helyezheti.

A két paraméter beállításainak eredményeként Position a következő parancsok bármelyikét használhatja:

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

Ha egy másik pozícióparamétert is fel szeretne venni a paraméternév nélkül, akkor a paramétert a Position beállítás által megadott sorrendbe kell helyezni.

Paraméter típusa

Ez a beállítás a Paraméterérték Microsoft .NET-keretrendszer típusát határozza meg. Ha például a típus Int32, a paraméter értékének egész számnak kell lennie. Ha a típus sztring, a paraméter értékének karaktersztringnek kell lennie. Ha a sztring szóközöket tartalmaz, az értéket idézőjelek közé kell tenni, vagy a szóközöket a feloldó karakter (`) előzi meg.

Alapértelmezett érték

Ez a beállítás azt az értéket adja meg, amelyet a paraméter feltételez, ha nincs más érték megadva. Az Elérési út paraméter alapértelmezett értéke például gyakran az aktuális könyvtár. A kötelező paraméterek soha nem rendelkeznek alapértelmezett értékkel. Számos választható paraméter esetében nincs alapértelmezett érték, mert a paraméternek nincs hatása, ha nincs használatban.

Több érték elfogadása

Ez a beállítás azt jelzi, hogy egy paraméter több paraméterértéket is elfogad-e. Ha egy paraméter több értéket fogad el, beírhat egy vesszővel tagolt listát a paraméter értékeként a parancsba, vagy menthet egy vesszővel tagolt listát (tömböt) egy változóban, majd paraméterértékként megadhatja a változót.

A parancsmag Név paramétere Get-Service például több értéket fogad el. A következő parancsok mindkét parancs érvényesek:

Get-Service -Name winrm, netlogon
$s = "winrm", "netlogon"
Get-Service -Name $s

Folyamatbemenet elfogadása

Ez a beállítás azt jelzi, hogy a folyamatkezelővel (|) küldhet-e értéket a paraméternek.

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.

Ha egy paraméter "Igaz (érték szerint)", a PowerShell megpróbálja társítani a pipaértékeket a paraméterrel, mielőtt más metódusokkal próbálná értelmezni a parancsot.

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.

Az értéket például csak akkor helyezheti el egy Név paraméterbe, ha az értéknek van egy Név nevű tulajdonsága.

Feljegyzés

A folyamatbemenetet (by Value) vagy (by PropertyName) elfogadó gépelt paraméter lehetővé teszi a delay-bind szkriptblokkok használatát a paraméteren.

A delay-bind szkriptblokk automatikusan fut a ParameterBinding során. Az eredmény a paraméterhez van kötve. A késleltetési kötés nem működik a típusként ScriptBlock definiált paramétereknél, vagy System.Objecta szkriptblokk meghívás nélkül lesz átadva.

A késleltetett kötésű szkriptblokkokról itt olvashat about_Script_Blocks.md

Helyettesítő karakterek elfogadása

Ez a beállítás azt jelzi, hogy a paraméter értéke tartalmazhat-e helyettesítő karaktereket, így a paraméter értéke egynél több meglévő elemhez is megfeleltethető a céltárolóban.

Gyakori paraméterek

A gyakori paraméterek olyan paraméterek, amelyeket bármely parancsmaggal használhat. A gyakori paraméterekkel kapcsolatos további információkért lásd: about_CommonParameters.

Lásd még