Sdílet prostřednictvím


O parametrech

Krátký popis

Popisuje, jak pracovat s parametry příkazu 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í tvar:

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

Názvu parametru předchází pomlčka (-), která do PowerShellu signalizuje, že slovo za spojovníkem je název parametru. Název parametru a hodnotu lze oddělit mezerou nebo znakem dvojtečky. 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ší. Pokud chcete najít informace o parametrech příkazu, použijte rutinu 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. Pří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 parametry použít v příkazu.

K vyhledání informací o konkrétním parametru můžete použít také parametr Get-Help Parameter rutiny. Nebo můžete použít parametr Parametr se zástupným znakem ( * ) k vyhledání informací o všech parametrech příkazu. Například následující příkaz 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žije nebo předpokládá, když parametr není v příkazu zadán.

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 k rutině. 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. Informace o nastavení vlastních výchozích hodnot najdete v tématu about_Parameters_Default_Values.

Tabulka atributů parametrů

Když použijete parametry Full, Parameter nebo Online rutiny Get-Help , Get-Help zobrazí tabulku atributů parametrů s podrobnými informacemi o parametru.

Tyto informace zahrnují podrobnosti, které potřebujete vědět, abyste mohli parametr použít. 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 parametru. Následující části popisují atributy parametrů.

Povinný parametr

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

Umístění parametru

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

Rutina Get-ChildItem má například parametry Path a Exclude. Nastavení Positionpath je 0, což znamená, že se jedná o poziční parametr. Nastavení Positionpro Vyloučenínázev.

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 v příkazu umístit na libovolnou pozici.

V důsledku Position nastavení těchto dvou parametrů 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 Position nastavením.

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 znaků. Pokud řetězec obsahuje mezery, musí být hodnota uzavřena v uvozovkách nebo mezerám musí předcházet řídicí znak ( ' ).

Výchozí hodnota

Toto nastavení určuje hodnotu, kterou parametr bude předpokládat, pokud není zadána žádná jiná hodnota. Například výchozí hodnotou parametru Path je často aktuální adresář. Požadované parametry nikdy nemají výchozí hodnotu. Pro mnoho volitelných parametrů neexistuje výchozí hodnota, 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ů. Pokud parametr přijímá více hodnot, můžete jako hodnotu parametru v příkazu zadat seznam oddělený čárkami nebo uložit seznam oddělený čárkami (pole) do proměnné a pak zadat proměnnou jako hodnotu parametru.

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

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

Přijímá vstup kanálu.

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

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 má parametr hodnotu True (by Value), PowerShell se pokusí přidružit všechny hodnoty zasílané do kanálu s tímto parametrem předtím, než se pokusí interpretovat příkaz jinými metodami.

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 nasměrovat do parametru Name pouze v případě, že 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í bloků skriptů se zpožděním vazby v parametru.

Blok skriptu se zpožděním vazby se spouští automaticky během parametru ParameterBinding. Výsledek je vázán na parametr . Zpoždění vazby nefunguje u parametrů definovaných jako typ ScriptBlock nebo System.Object, blok skriptu se předává bez vyvolání.

Informace o blocích skriptu delay-bind 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 hodnota parametru byla spárována 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 libovolnou rutinou. Další informace o běžných parametrech najdete v tématu about_CommonParameters.

Viz také

about_Command_syntax

about_Comment_Based_Help

about_Functions_Advanced

about_Parameters_Default_Values

about_Pipelines

about_Wildcards