Sady parametrů rutin
PowerShell používá sady parametrů k tomu, abyste mohli napsat jednu rutinu, která může provádět různé akce pro různé scénáře. Sady parametrů umožňují uživateli zveřejnit různé parametry. A k vrácení různých informací na základě parametrů zadaných uživatelem.
Příklady sad parametrů
Například rutina PowerShellu vrací různé informace v závislosti na tom, jestli uživatel Get-EventLog
specifikuje parametr List nebo LogName. Pokud je zadaný parametr List, rutina vrátí informace o samotných souborech protokolu, ale ne informace o události, které obsahují. Pokud je zadaný parametr LogName, rutina vrátí informace o událostech v určitém protokolu událostí. Parametry List a LogName identifikují dvě samostatné sady parametrů.
Jedinečný parametr
Každá sada parametrů musí mít jedinečný parametr, který modul runtime PowerShellu používá ke vystavení příslušné sady parametrů. Pokud je to možné, měl by být jedinečný parametr povinným parametrem. Pokud je parametr povinný, musí uživatel zadat parametr a modul runtime PowerShellu tento parametr použije k identifikaci sady parametrů. Jedinečný parametr nemůže být povinný, pokud je vaše rutina navržená ke spuštění bez zadání parametrů.
Více sad parametrů
Na následujícím obrázku je v levém sloupci tři platné sady parametrů. Parametr A je jedinečný pro první sadu parametrů, parametr B je jedinečný pro druhou sadu parametrů a parametr C je jedinečný pro třetí sadu parametrů. V pravém sloupci nemají sady parametrů jedinečný parametr.
Požadavky na sadu parametrů
Následující požadavky platí pro všechny sady parametrů.
Každá sada parametrů musí mít alespoň jeden jedinečný parametr. Pokud je to možné, vytvořte tento parametr povinným parametrem.
Sada parametrů, která obsahuje více pozičních parametrů, musí definovat jedinečné pozice pro každý parametr. Žádné dva poziční parametry zadat stejnou pozici.
Pouze jeden parametr v sadě může deklarovat
ValueFromPipeline
klíčové slovo s hodnotoutrue
. Klíčové slovo může definovatValueFromPipelineByPropertyName
více parametrů s hodnotoutrue
.Pokud pro parametr není zadaná žádná sada parametrů, patří parametr do všech sad parametrů.
Poznámka
Pro rutinu nebo funkci existuje limit 32 sad parametrů.
Výchozí sady parametrů
Pokud je definováno více sad parametrů, můžete k určení výchozí sady parametrů použít klíčové DefaultParameterSetName
slovo atributu Cmdlet. PowerShell použije výchozí sadu parametrů, pokud na základě informací poskytnutých příkazem nemůže určit sadu parametrů, která se má použít. Další informace o atributu rutiny najdete v tématu Deklarace atributu rutiny.
Deklarace sad parametrů
Pokud chcete vytvořit sadu parametrů, musíte zadat klíčové slovo při deklaraci atributu Parameter pro každý ParameterSetName
parametr v sadě parametrů. Pro parametry, které patří do více sad parametrů, přidejte atribut Parametr pro každou sadu parametrů. Tento atribut umožňuje definovat parametr odlišně pro každou sadu parametrů. Můžete například definovat parametr jako povinný v jedné sadě a volitelný v jiné. Každá sada parametrů ale musí obsahovat jeden jedinečný parametr. Další informace najdete v tématu Deklarace atributu parametru.
V následujícím příkladu je parametr UserName jedinečným parametrem sady parametrů a parametr ComputerName je jedinečný parametr sady Test01
Test02
parametrů. Parametr SharedParam patří do obou sad a je povinný pro sadu parametrů, ale volitelný Test01
pro sadu Test02
parametrů.
[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test01")]
public string UserName
{
get { return userName; }
set { userName = value; }
}
private string userName;
[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test02")]
public string ComputerName
{
get { return computerName; }
set { computerName = value; }
}
private string computerName;
[Parameter(Mandatory= true, ParameterSetName = "Test01")]
[Parameter(ParameterSetName = "Test02")]
public string SharedParam
{
get { return sharedParam; }
set { sharedParam = value; }
}
private string sharedParam;
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro