Megosztás a következőn keresztül:


paraméterekről

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 (-) előzi meg, amely jelzi a PowerShellnek, hogy az 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 Get-ChildItem parancsmag paramétereiről szeretne információt keresni, írja be a 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éldául:

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 Get-Help parancsmag Paraméter paraméterével is megkeresheti az adott paraméterrel kapcsolatos információkat. A Paraméter paramétert a helyettesítő karakter (*) értékével is használhatja a parancs összes paraméterével kapcsolatos információk megkereséséhez. A következő parancs például a Get-Member parancsmag összes paraméterével kapcsolatos információt kap:

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.

Például a ComputerName paraméter alapértelmezett értéke 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_Valuescímű témakörben talál.

Paraméterattribútum-tábla

Ha a Teljes, Paramétervagy Online paramétert használja a Get-Help parancsmagban, Get-Help egy paraméterattribútumtáblát jelenít meg, 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 Get-ChildItem parancsmag súgótémaköre 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 a paraméter értékének megadását kéri.

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 Get-ChildItem parancsmag például elérési út és kizárás paraméterekkel rendelkezik. Az Position beállítás a útvonal esetében 0, ami azt jelenti, hogy ez egy helyzetparaméter. Position beállítása a kizárása esetében a nevű.

Ez azt jelenti, hogy elérési út nem igényel paraméternevet, 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 Position beállításainak eredményeként az alábbi 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-keretrendszertípusát adja 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 foglalni, 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 Get-Service paramétere például több értéket fogad el. A következő parancsok mind é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 folyamatoperátor (|) használatával 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.

Egy értéket például csak akkor helyezhet el egy Név paraméterbe, ha az érték Névnevű tulajdonságot is tartalmazhat.

Megjegyzés:

A csővezetékbemenetet (by Value) vagy (by PropertyName) elfogadó típusú paraméter lehetővé teszi a paraméteren a késleltetett kötésű szkriptblokkok (és) használatát.

A delay-bind szkriptblokk automatikusan fut ParameterBindingsorán. Az eredmény a paraméterhez van kötve. A késleltetési kötés nem ScriptBlock vagy System.Objecttípusként definiált paraméterek esetében, a szkriptblokk meghívása nélkül lesz átadva.

A késleltetési kötés szkriptblokkokról itt olvashat about_Script_Blocks.md

Elfogadja a helyettesítő karaktereket

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