about_Parameters

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ázev parametru předchází pomlčka (-), která signalizuje PowerShellu, že slovo za pomlčkou je název parametru. Název a hodnota parametru lze oddělit mezerou nebo dvojtečkam. 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ší. K vyhledání informací o parametrech příkazu použijte rutinu Get-Help . Pokud chcete například najít informace o parametrech Get-ChildItem rutiny, 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 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 parametr Parametr s hodnotou zástupného znaku ( * ) 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žívá nebo předpokládá, když parametr není zadaný v příkazu.

Výchozí hodnota parametru ComputerName mnoha rutin je například 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 rutinu. 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ů parametru

Když použijete úplné parametry, parametr nebo onlineGet-Help rutiny, 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 nezáporné celé číslo, název parametru není povinný. 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 cestu je 0, což znamená, že se jedná o poziční parametr. Nastavení Position pro vyloučení 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 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 znaku. Pokud řetězec obsahuje mezery, musí být hodnota uzavřena v uvozovkách nebo mezery musí předcházet řídicí znak (`).

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 Name rutiny Get-Service přijímá více hodnot. Oba příkazy jsou platné:

Get-Service -Name winrm, netlogon
$s = "winrm", "netlogon"
Get-Service -Name $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 je parametr True (by Value), PowerShell se pokusí přidružit k ho parametru před tí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 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í bloků skriptu vazby zpoždění u parametru.

Blok skriptu s vazbou zpoždění se spustí automaticky během parametruBinding. Výsledek je vázán na parametr. Vazby zpoždění nefungují pro parametry definované jako typ ScriptBlock nebo System.Object, blok skriptu se předává bez vyvolání.

Tady si můžete přečíst o blocích skriptu se zpožděním vazbyabout_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 libovolnou rutinou. Další informace o běžných parametrech najdete v tématu about_CommonParameters.

Viz také