Sdílet prostřednictvím


O parametrech

Krátký popis

Popisuje, jak pracovat s parametry příkazů v PowerShellu.

Dlouhý popis

Většina příkazů PowerShellu, jako jsou rutiny, funkce a skripty, spoléhá na parametry, které uživatelům umožňují vybrat možnosti nebo zadat vstup. Parametry se řídí názvem příkazu a mají následující formulář:

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

Názvu parametru předchází spojovník (-), který signalizuje PowerShellu, že slovo následující za spojovníkem je název parametru. Název a hodnota parametru mohou být odděleny mezerou nebo dvojtečkou. Některé parametry nevyžadují nebo přijímají hodnotu parametru. Jiné parametry vyžadují hodnotu, ale nevyžadují název parametru v příkazu.

Typ parametrů a požadavky na tyto parametry se liší. Informace o parametrech příkazu najdete pomocí rutiny Get-Help. Pokud chcete například najít informace o parametrech rutiny Get-ChildItem, zadejte:

Get-Help Get-ChildItem

Pokud chcete najít informace o parametrech skriptu, použijte úplnou cestu k souboru skriptu. Například:

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

Rutina Get-Help vrátí různé podrobnosti o příkazu, včetně popisu, syntaxe příkazu, informací o parametrech a příkladů, které ukazují, jak použít parametry v příkazu.

K vyhledání informací o konkrétním parametru můžete také použít parametr Parameter rutiny Get-Help. Nebo můžete použít hodnotu parametru parametr se zástupným znakem (*) a najít informace o všech parametrech příkazu. Následující příkaz například získá informace o všech parametrech rutiny Get-Member:

Get-Help Get-Member -Parameter *

Výchozí hodnoty parametrů

Volitelné parametry mají výchozí hodnotu, což je hodnota, která se používá nebo předpokládá, když parametr není zadaný v příkazu.

Například výchozí hodnota parametru ComputerName mnoha rutin je název místního počítače. V důsledku toho se v příkazu použije název místního počítače, pokud není zadán parametr ComputerName.

Pokud chcete najít výchozí hodnotu parametru, přečtěte si téma nápovědy pro cmdlet. Popis parametru by měl obsahovat výchozí hodnotu.

Můžete také nastavit vlastní výchozí hodnotu pro libovolný parametr rutiny nebo pokročilé funkce. Pro informace o nastavení vlastních výchozích hodnot viz about_Parameters_Default_Values.

Tabulka atributů parametru

Při použití Úplné, Parametrnebo Online parametry rutiny Get-Help, Get-Help zobrazí tabulku atributů parametrů s podrobnými informacemi o parametru.

Tyto informace obsahují podrobnosti, které potřebujete vědět o použití parametru. Například téma nápovědy pro rutinu Get-ChildItem obsahuje následující podrobnosti o parametru Path:

-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

Informace o parametru zahrnují syntaxi parametru, popis parametru a atributy parametrů. Následující části popisují atributy parametrů.

Povinný parametr

Toto nastavení určuje, jestli je parametr povinný, to znamená, jestli všechny příkazy, které používají tuto rutinu, musí obsahovat tento parametr. Pokud je hodnota True a parametr v příkazu chybí, PowerShell vás vyzve k zadání hodnoty parametru.

Pozice parametru

Position Pokud je nastavení nastaveno na kladné celé číslo, název parametru není vyžadován. Tento typ parametru se označuje jako poziční parametr a číslo označuje pozici, ve které se parametr musí objevit ve vztahu k jiným pozičním parametrům. Pojmenovaný parametr může být uveden v libovolné pozici za názvem rutiny. Pokud zahrnete název parametru pro poziční parametr, může být parametr uveden v libovolné pozici za názvem rutiny.

Například rutina Get-ChildItem obsahuje parametry Path a Exclude. Nastavení Position pro Cesta je 0, což znamená, že se jedná o poziční parametr. Nastavení Position pro Vyloučit je pojmenované.

To znamená, že Cesta nevyžaduje název parametru, ale jeho hodnota parametru musí být první nebo pouze nepojmenovaná hodnota parametru v příkazu. Vzhledem k tomu, že parametr Exclude je pojmenovaný parametr, můžete ho umístit na libovolné místo v příkazu.

V důsledku nastavení Position pro tyto dva parametry můžete použít některý z následujících příkazů:

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

Pokud byste měli zahrnout jiný poziční parametr bez zahrnutí názvu parametru, musí být tento parametr umístěn v pořadí určeném nastavením Position.

Typ parametru

Toto nastavení určuje typ rozhraní Microsoft .NET Framework hodnoty parametru. Pokud je například typ Int32, hodnota parametru musí být celé číslo. Pokud je typ řetězec, hodnota parametru musí být řetězec znaku. Pokud řetězec obsahuje mezery, musí být hodnota uzavřena v uvozovkách nebo musí být mezery uvedeny řídicím znakem ( ' ).

Výchozí hodnota

Toto nastavení určuje hodnotu, kterou parametr předpokládá, pokud není zadána žádná jiná hodnota. Například výchozí hodnota parametru Path je často aktuálním adresářem. Požadované parametry nikdy nemají výchozí hodnotu. U mnoha volitelných parametrů neexistuje výchozí nastavení, protože parametr nemá žádný vliv, pokud se nepoužívá.

Přijímá více hodnot.

Toto nastavení určuje, jestli parametr přijímá více hodnot parametrů. Když parametr přijímá více hodnot, můžete jako hodnotu parametru v příkazu zadat seznam oddělený čárkami, nebo uložit čárkami oddělený seznam (pole) do proměnné a pak proměnnou zadat jako hodnotu parametru.

Například parametr ServiceName rutiny Get-Service přijímá více hodnot. Oba příkazy jsou platné:

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

Přijímá vstup kanálu.

Toto nastavení označuje, zda můžete použít operátor kanálu ( | ) k odeslání hodnoty parametru.

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.

Pokud je parametr "Pravda (podle hodnoty)", PowerShell se pokusí přidružit jakékoli předané hodnoty k tomuto parametru dříve, než použije jiné metody k interpretaci příkazu.

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.

Hodnotu můžete například převést na parametr Name pouze v případě, že hodnota má vlastnost s názvem Name.

Poznámka:

Zadaný parametr, který přijímá vstup kanálu (by Value) nebo (by PropertyName) umožňuje použití pozdržovací vazby bloků skriptu u parametru.

Blok skriptu zpožděná vazba se spouští automaticky během ParameterBinding. Výsledek je vázán na parametr. Vazba zpoždění nefunguje pro parametry definované jako typ ScriptBlock nebo System.Object, blok skriptu se předává bez vyvolání.

Více o zpožděném vázání skriptových bloků najdete tady about_Script_Blocks.md

Přijímá zástupné znaky.

Toto nastavení určuje, jestli hodnota parametru může obsahovat zástupné znaky, aby se hodnota parametru shodovala s více než jednou existující položkou v cílovém kontejneru.

Běžné parametry

Běžné parametry jsou parametry, které můžete použít s libovolným cmdletem. Další informace o běžných parametrech najdete v tématu about_CommonParameters.

Viz také

o_syntaxi_příkazů

o_komentářích_pomoc_vytvářená_na_základě_komentářů

o_Pokročilých_Funkcích

o_Parametrech_Výchozích_Hodnot

about_Pipelines

o_zástupných_znacích