Parametre PowerShell: Syntax, typy, atribúty, argumenty a príklady

15. júna 2021 16760 Názory Parametre PowerShell: Syntax, typy, atribúty, argumenty a príklady

Vývojári skriptov PowerShell používajú blok Powershell Param na pridávanie parametrov do pokročilých funkcií. Každý, kto spúšťa túto funkciu, má prístup k parametrom pridaným pomocou PowerShell Param.





Okrem parametrov pridaných do funkcie pomocou bloku Param, Windows PowerShell automaticky pridáva Common Parameters .



Táto príručka obsahuje syntax parametra Powershell, typy parametrov Powershell, ich atribúty a argumenty. Poskytuje tiež niekoľko príkladov, ako použiť blok Param na pridanie parametrov do skriptu alebo funkcie.

Prehľadávať témy príspevkov



Syntax bloku parametrov PowerShell

Syntax bloku parametrov PowerShell

Syntax PowerShell Param je…



|_+_|

Ak chcete do funkcie pridať parameter, začnite slovom zastaviť , za ktorým nasleduje blok parametrov, (). Tu je jednoduchá forma bloku param…

výstražná kamera zlyhala s7 edge
|_+_| The CmdletBinding atribút je voliteľný a je to jediný atribút definovaný mimo bloku param. Viac o tom neskôr v príručke

V rámci bloku Param – param () – definujete atribúty Parameter a ich argumenty. Okrem toho je atribút parametra uzavretý v bloku [()].



Vo vyššie uvedenom kóde syntaxe som zvýraznil všetky argumenty parametrov. Argumentov parametrov je oveľa viac – tie v syntaxi slúžia len na ilustráciu a nie sú v žiadnom prípade vyčerpávajúce.

V rámci bloku parametrov definujete argumenty parametrov oddelené čiarkami. Príkladom atribútu PowerShell Param je parameter atribút.



Okrem toho, príkladom argumentu param je povinné argument. Ďalším príkladom argumentu param je ParameterSetName .

Nakoniec zadefinujete názov parametra. Okrem toho špecifikujete aj dátový typ parametra.

V ďalšej časti rozoberiem bežné typy parametrov PowerShell. Potom sa tretia časť zaoberá bežnými atribútmi parametrov a ich argumentmi.

Nakoniec v poslednej časti tejto príručky uvediem skutočný príklad SysAdmin parametra PowerShell. Táto časť tiež poskytne príklady použitia bloku parametrov v rozšírenej funkcii.

Typy parametrov PowerShell

Typy parametrov parametra PowerShell

Najbežnejšie typy parametrov, ktoré môžete nastaviť, sú reťazec alebo prepínač parametre. Okrem toho môžete tiež definovať int , bool , Dátum Čas alebo typy parametrov char.

V tejto časti vysvetlím niektoré z týchto typov parametrov. Uvediem tiež niekoľko príkladov, ako ich definovať v bloku param.

PowerShell Param Reťazec Parameter

Keď vytvoríte parametre PowerShell, je pravdepodobné, že vytvoríte a reťazec parameter. A reťazec parameter akceptuje akúkoľvek hodnotu reťazca.

V prostredí Windows PowerShell môžu byť reťazcom čísla, slová alebo znaky. Konkrétne všetko, čo deklarujete v dvojitých alebo jednoduchých úvodzovkách, je reťazec.

V prostredí PowerShell je typ objektu reťazca System.String .

Ak chcete deklarovať parameter PowerShell ako parameter reťazca, pred názov parametra uzavrite slovo reťazec v zátvorkách. Tu je príklad…

|_+_|

PowerShell Param int Parameter

An int dátový typ je 32-bitové celé číslo so znamienkom. V angličtine, an int je číslo, napríklad 1, 2 alebo 3.

Na rozdiel od a reťazec dátový typ parametra, ktorý môže prijať akýkoľvek typ dát, an int parameter je veľmi normatívny.

Ak definujete int parameter môže akceptovať iba čísla. Okrem toho, ak zadáte slová ako hodnotu pre int parameter, PowerShell zobrazí chybové hlásenie.

Predtým, ako vám ukážem, ako definovať parameter PowerShell int parameter, tu je všeobecný príklad, ako definovať typ údajov int…

|_+_|

Ak spustím kód v PowerShell, vráti sa 123 .

PowerShell Param int Parameter

Naopak, ak nahradím 123 týmto je int, PowerShell vyhodí chybové hlásenie.

|_+_|

Teraz, keď ste mali int rýchlokurz dátového typu na vytvorenie parametra PowerShell int parameter s názvom číslo, tu je kód...

|_+_|

To prinúti používateľov vášho skriptu alebo funkcie poskytnúť správny typ údajov.

PowerShell Param Dátum Čas Parameter

Ako int parameter, a Dátum Čas Parameter tiež veľmi určuje typ vstupu, ktorý prijíma. Ako už názov napovedá, Dátum Čas parameter bude akceptovať iba vstupy vo formáte dátumu a času.

Ak chcete definovať parameter PowerShell, ktorý bude akceptovať iba dátumy, použite vzorový kód nižšie…

|_+_|

V tomto príklade Zadajte dátum je názov parametra. okrem toho Dátum Čas definuje typ údajov.

PowerShell Param Prepínač Parameter

V prvých troch podsekciách tejto časti som diskutoval o typoch parametrov PowerShell, ktoré vyžadujú vstup od používateľa.

Existuje však typ parametra PowerShell, ktorý nevyžaduje vstup od používateľa. Na rozdiel od iných typov parametrov, a prepínač parameter nevyžaduje vstup používateľa.

Spôsob, akým definujete a prepínač parameter je podobný spôsobu, akým definujete iné typy parametrov. Avšak namiesto prepínač , int , alebo Dátum Čas , použite slovo prepínač .

Napríklad na definovanie parametra PowerShell Prepínač parameter, Exportovať CSV , použite kód nižšie...

|_+_|

Nakoniec, v tejto sekcii vás možno zaujímajú o aplikácii prepínač parametre. Predstavte si skript alebo funkciu PowerShell, ktorá dokáže zobraziť výsledky v konzole Powershell.

Môžete tiež dať používateľovi možnosť exportovať výsledok do textového súboru alebo súboru CSV.

Jedným zo spôsobov kódovania funkcie je vytvorenie 3 parametrov prepínača. Používateľ si potom môže vybrať jeden z parametrov v závislosti od toho, ako chce, aby funkcia poskytovala výsledok.

Tento typ parametra nevyžaduje od používateľa zadanie vstupu. Jednoduchým výberom parametra funkcia podľa toho zobrazí výstup.

Môžete tiež definovať ďalšie parametre prostredia PowerShell so špecifickými typmi údajov. Ak sa chcete dozvedieť o typoch údajov PowerShell, navštívte tento odkaz – Ako definovať typy údajov PowerShell .

Atribúty a argumenty parametrov PowerShell Param

Atribúty a argumenty parametrov PowerShell Param

V syntaxi parametrov PowerShell tejto príručky som naznačil, že parameter PowerShell má atribúty. Okrem toho som tiež poukázal na to, že každý atribút parametra má aj argumenty.

V tejto časti budem diskutovať o atribútoch parametrov a ich argumentoch.

Na vysvetlenie atribútov parametrov a ich argumentov sa budem odvolávať na syntax parametra PowerShell uvedenú v prvej časti tejto príručky.

|_+_|

PowerShell Param CmdletBinding Atribút

The CmdletBinding atribút sa zvyčajne uvádza pred blokom param. Keď definujete CmdletBinding PowerShell rozpozná skript ako pokročilú funkciu.

V sekcii syntaxe tejto príručky som tento kód použil ako zjednodušenú verziu bloku param.

|_+_|

V tejto časti sa zameriam na CmdletBinding Atribút časť kódu. Tu je návod, ako definovať Atribút

|_+_|

V nasledujúcich 3 podkapitolách rozoberiem niektoré bežné argumenty, ktoré môžete definovať v CmdletBinding atribút.

Aby ste sa vyhli pochybnostiam, musíte definovať všetky Argumenty v rámci () bloku Atribút . Tiež MUSÍTE oddeliť všetky atribúty čiarkou (,), okrem posledného Argumenty v rámci Atribút .

PowerShell Param DefaultParameterSetName Argumentovať

Keď vyvíjate funkciu PowerShell, môže obsahovať viacero parametrov, ktoré môže používateľ použiť v rovnakom príkaze. Okrem toho môže rovnaká funkcia PowerShell obsahovať inú sadu parametrov, ktoré môže používateľ použiť v inom príkaze.

Používateľ však nemôže miešať parametre v prvej sade s parametrami v druhej sade.

Okrem toho vývojár funkcií definuje všetky parametre, ktoré môže používateľ použiť v rovnakom príkaze s ParameterSetName argument. The ParameterSetName argument je definovaný v atribúte Parameter (viac o tom v ďalšej časti).

Dôsledkom toho, že máte rôzne sady zoskupených parametrov, budete mať rôzne ParameterSetName s.

S rôznymi ParameterSetName je definovaný vo vašom bloku parametrov, môžete sa rozhodnúť definovať jeden z ParameterSetName s ako predvolená. Toto je miesto, kde používate DefaultParameterSetName Argumentovať.

The DefaultParameterSetName Argument je definovaný v rámci CmdletBinding blok atribútov. Tu je príklad…

|_+_|

Nakoniec, aby sme zachovali náš formát bloku parametrov PowerShell, znova uvediem blok parametrov nižšie…

|_+_|

PowerShell Param PodporujeShouldProcess Argumentovať

Toto je ďalší argument, ktorý môžete definovať v CmdletBinding Atribút . Ako DefaultParameterSetName Argument, PodporujeShouldProcess Argument je voliteľný.

The PodporujeShouldProcess Argument dodáva Potvrďte a Čo ak spoločné parametre funkcie.

Ak chcete pridať tento argument, pridajte na koniec znaku čiarku (,). DefaultParameterSetName argument. Potom pridajte riadok - PodporujeShouldProcess =$true alebo $false.

S týmto novým argumentom zahrnuté, CmdletBinding Atribút teraz to bude vyzerať takto...

|_+_|

PowerShell Param HelpURI Argumentovať

Ak poznáte prostredie PowerShell Získajte pomoc Cmdlet, možno ste na ňu narazili online parameter. Keď bežíš Získajte pomoc s online PowerShell otvorí stránku online pomocníka rutiny cmdlet.

Ak chcete napríklad otvoriť stránku online pomoci rutiny Out-File, spustite príkaz nižšie...

|_+_|

Stránka otvorená týmto príkazom je definovaná vo funkcii pomocou HelpURI Argumentovať. Ak teda chcete, aby používatelia mali prístup na stránku online pomocníka vašej funkcie, definujte HelpURI Argumentovať.

Tu je príklad…

|_+_|

Teraz zahrniem tento posledný argument do CmdletBinding Atribút . Tu je aktualizovaný kód…

|_+_|

PowerShell Param Parameter Atribút

V parametri PowerShell CmdletBinding Podsekcia atribútov, diskutovala som o 3 argumentoch, ktoré môžete zahrnúť do CmdletBinding Blok atribútov.

Ako ste videli, CmdletBinding Blok atribútov je jediný atribút definovaný mimo bloku parametrov.

V tejto podsekcii sa dozviete o atribúte parametra. Okrem toho sa dozviete aj o bežných argumentoch, ktoré môžete pridať k tomuto atribútu.

Ako ste mohli usúdiť z príkladov už použitých v tejto príručke, atribút Parameter definuje argumenty, ktoré riadia správanie parametra PowerShell param.

Atribút parametra môžete definovať uzavretím slova Parameter nasledovaného zátvorkami () v bloku []. Tu je príklad…

|_+_|

Ďalej MUSÍTE definovať všetky argumenty atribútu Parameter v rámci bloku ().

V nasledujúcich podsekciách sekcie PowerShell Param Parameter Attribute predstavím a vysvetlím bežné argumenty, ktoré môžete definovať v rámci atribútu Parameter Atribút.

PowerShell Param ParameterSetName Argumentovať

Keď som vysvetlil DefaultParameterSetName vyššie v tejto príručke som predstavil ParameterSetName Argumentovať. Tento argument môžete použiť na dávkovanie alebo zoskupovanie parametrov, ktoré môže užívateľ spustiť v rovnakom príkaze.

Napríklad na definovanie a ParameterSetName volal ParameterSetName1 , zadajte nižšie uvedený kód do bloku Parameter Atribút ().

|_+_|

Keď uvediem tento aktualizovaný kód, param blok môjho vzorového kódu bude teraz vyzerať takto..

|_+_|

Ak prinesiem späť CmdletBinding môj vzorový kód parametra PowerShell bude teraz vyzerať takto...

|_+_|

PowerShell Param Povinné Argumentovať

Môžete použiť Povinné argument na definovanie, či je parameter povinný alebo voliteľný. The Povinné argument akceptuje hodnotu $true alebo $false – $true znamená vyžadovať, $false, nevyžaduje sa.

čo je Windows 10 Enterprise n

Okrem toho, Povinné argument je voliteľný. Ak však tento argument nie je definovaný, parameter sa bude považovať za voliteľný.

Na definovanie Povinné Argument, pridajte kód uvedený nižšie do bloku Parameter Attribute…

|_+_|

Nakoniec, ak zahrniem Povinné Kód argumentu k môjmu param kódu PowerShell, teraz budem mať…

|_+_|

PowerShell Param pozícia Argumentovať

The pozícia Argument parametra Atribút definuje pozíciu parametra. Hodnota je celé číslo začínajúce od 0 (nuly).

Prínos z pozícia Argumentom je umožniť používateľom spustiť funkciu pomocou pozície parametrov. Konkrétne, keď definujete pozícia Argument, používateľ môže zadať hodnoty pre každý parameter do príkazového riadku bez zadania parametra.

PowerShell potom priradí každú hodnotu v príkazovom riadku podľa pozície parametra.

Napríklad Get-ChildItem Rutina cmdlet má parameter s názvom Cesta (s pozíciou 0). Rutina cmdlet má aj ďalší parameter, Filter (s pozíciou 1).

V predvolenom nastavení, ak spustím Get-ChildItem príkaz, musím zahrnúť názvy parametrov pred pridaním ich hodnôt. Pozrite si príkaz nižšie…

|_+_|

V tomto príkaze som zavolal parametre a následne špecifikoval ich hodnoty.

Argument pozície parametra PowerShell

Keďže však poznám pozície týchto 2 parametrov, môžem pridať hodnoty na ich pozície bez toho, aby som parametre výslovne volal. Potom upravím svoj príkaz, ako je uvedené nižšie…

|_+_|

Očividne mi to šetrí čas! Ak sa však pozeráte na dlhý kód PowerShell, môže to spôsobiť určitý zmätok.

Príkaz poskytuje rovnaký výsledok v PowerShell…

galaxy s7 edge vlastné rom

PowerShell automaticky priradí hodnoty na pozíciách k parametrom na základe ich pozícia Argumentovať.

Pokračujeme, takto definujete pozícia Argument…

|_+_| V tomto príklade je moja pozícia parametra 0 (nula). Keď zadefinujem svoj ďalší parameter, bude na pozícii 1 atď. Nemôžete mať dva parametre na rovnakej pozícii. Neskôr v príručke sa naučíte, ako pridať jeden parameter na rovnakú pozíciu, ale rôzne ParameterSetNames.

Teraz pridám tento argument do svojho vzorového kódu...

|_+_|

PowerShell Param ValueFromPipeline Argumentovať

Ďalším bežne používaným rozšírením parametrov je ValueFromPipeline Argumentovať. Ako už názov napovedá, tento argument určuje, či parameter akceptuje hodnoty z kanála.

Takto definujete tento argument...

|_+_|

Ak pridám tento nový argument do svojho kódu, bude to vyzerať takto...

|_+_|

Existuje ďalší argument tzv ValueFromPipelineByPropertyName . Ak si chcete prečítať o tomto argumente, navštívte about_Functions_Advanced_Parameters .

PowerShell Param HelpMessage Argumentovať

Tento argument môžete použiť na zadanie správy, ktorá používateľom ukáže, ako použiť parameter. Na definovanie a HelpMessage Argument pre parameter, použite kód podobný nižšie uvedenému...

|_+_|

A tu je môj aktualizovaný kód...

|_+_|

Doteraz som v tejto časti diskutoval o 2 atribútoch parametrov PowerShell – CmdletBinding a Parameter . Okrem toho som tiež diskutoval o bežných argumentoch, ktoré môžete definovať pre tieto atribúty.

V zostávajúcich 3 podsekciách tejto časti vás naučím 3 bežne používané atribúty parametrov PowerShell. Tieto 3 atribúty však nevyžadujú, aby ste definovali argumenty.

PowerShell Param alias Atribút

Atribút alias sa používa na určenie aliasov parametra. Ako ste možno uhádli, namiesto parametra možno použiť alias parametra PowerShell.

Predtým, než vám ukážem, ako definovať atribút alias pre parameter, dovoľte mi najprv ukázať vám, ako nájsť aliasy všetkých cmdletov a funkcií na vašom počítači.

Ak chcete zobraziť zoznam všetkých aliasov pre rutiny a funkcie, spustite príkaz nižšie

|_+_|

Toto zobrazí zoznam všetkých aliasov…

PowerShell Param Alias ​​Atribút

Prechod na alias Ak chcete definovať atribút pre parameter PowerShell, použite kód podobný nižšie uvedenému…

|_+_| V tomto príklade je FP alias pre parameter.

Ak to pridám do svojho kódu, aktualizovaná verzia bude vyzerať takto…

|_+_|

PowerShell Param Podporuje zástupné karty Atribút

Tento atribút parametra param určuje, či parameter akceptuje zástupné znaky. Takto definujete tento atribút…

|_+_|

PowerShell Param ValidateNotNullOrEmpty Validačný atribút

Ako väčšina atribútov, o ktorých sa už hovorí v tejto príručke, aj názov tohto atribútu to prezrádza. Je to overovací atribút.

Keď definujete tento atribút, parameter NEBUDE akceptovať hodnotu null ($null). Okrem toho nebude akceptovať prázdnu hodnotu ().

Ak používateľ zadá $null alebo , funkcia vyvolá chybu. Ak chcete definovať tento atribút, zadajte nižšie uvedený kód…

|_+_|

Nakoniec aktualizujem svoj kód o posledné 2 atribúty…

|_+_|

Názov parametra parametra PowerShell

Po zadefinovaní všetkých atribútov a argumentov parametra musíte pridať názov parametra. Parameter PowerShell param je definovaný ako premenná – so znakom dolára ($), za ktorým nasleduje názov parametra.

Voliteľne môžete zadať aj typ údajov pre parameter. V časti 2 tejto príručky som diskutoval o rôznych typoch parametrov PowerShell.

Tu je návod, ako definujete parameter, ktorý môže akceptovať reťazec Dátový typ.

|_+_|

Tu je môj aktualizovaný príklad kódu…

|_+_|

Ako definovať jeden parameter PowerShell vo viacerých sadách parametrov

Ako definovať jeden parameter PowerShell vo viacerých sadách parametrov

Ak ste nováčikom v kódovaní funkcií PowerShell, je pravdepodobné, že podľahnete pokušeniu definovať jeden parameter viackrát.

Jedným z dôvodov, prečo môžete chcieť mať parameter viackrát, je, keď sa parameter používa vo viacerých ParameterSetNames (viacnásobné sady parametrov).

Ak chcete riadiť tento domov, povedzme, že vyvíjate funkciu PowerShell, ktorá má a Cesta parameter. Máte však 2 ParameterSetNames, ktoré vyžadujú parameter Path.

Väčšina ľudí nových v skriptovaní PowerShell bude pravdepodobne definovať parametre, ktoré sú uvedené nižšie…

|_+_|

Ak definujete parametre, ako je uvedené vyššie, dostanete chybové hlásenie. Na otestovanie tejto teórie skopírujem kód do PowerShell ISE .

Ako definovať jeden parameter PowerShell vo viacerých sadách parametrov

Ako to teda vyriešite? Riešením je definovať 2 atribúty parametrov a ich argumenty – vrátane ich ParameterSetNames.

Potom na konci oboch atribútov parametrov definujte jeden názov parametra, ktorý je spoločný pre oba atribúty parametrov. V predchádzajúcom príklade odstránim názov prvého parametra a ponechám posledný.

|_+_|

Ak teraz skopírujem tento kód do PowerShell ISE, bude to v poriadku.

V tomto príklade si všimnite, že argumenty parametrov pre oba atribúty parametrov môžu byť úplne odlišné. Okrem toho môžete definovať toľko atribútov parametrov, koľko chcete.

Príklady parametrov PowerShell

Príklady parametrov PowerShell

V tejto poslednej časti príručky uvediem skutočný príklad parametra SysAdmin PowerShell.

Počas písania tejto príručky som začal vyvíjať skript/funkciu PowerShell na získanie veľkosti priečinka a počtu súborov. Tu je param časť funkcie...

|_+_|

V niekoľkých nasledujúcich podsekciách tejto časti vysvetlím rôzne prvky param. Nakoniec posledná časť predstavuje funkčný blok a pridáva do funkcie blok param.

Aby ste mohli jednoducho sledovať riadky v kóde, na ktorý sa odkazuje v ďalších podsekciách, stiahnite si PowerShellParamExample.zip . Potom rozbaľte súbor a otvorte súbor .ps1 v PowerShell ISE.

ParameterSetName Príklad parametra PowerShell

Môj príklad kódu parametra PowerShell má tri ParameterSetNames – DisplayResult , ExportTxt a Exportovať CSV . Použil som tieto mená, aby bolo ľahké identifikovať, čo robia.

V úvode tejto časti som spomenul, že funkcia, ktorú vytváram pomocou tohto parametrového kódu, zobrazí veľkosť priečinka a počet súborov pre každý podpriečinok v určenom priečinku.

Preto tri ParameterSetNames ponúkajú používateľovi možnosť zobraziť výsledky na konzole PowerShell. Alternatívne má používateľ možnosť exportovať výsledok do textového súboru alebo súboru CSV.

Ďalej každý ParameterSetName definovať všetky parametre, ktoré môže používateľ vyvolať v jednom príkaze. Na základe tejto myšlienky bude mať funkcia, ktorú vytváram, tri možnosti príkazov alebo syntaxe.

Túto myšlienku rozvediem v nasledujúcich podkapitolách a príkladoch.

CmdletBinding Atribút And DefaultParameterSetName Príklady argumentov

V predchádzajúcich častiach tejto príručky ste narazili na CmdletBinding Atribút. Navyše ste narazili aj na jeden z jeho argumentov – DefaultParameterSetName .

The DefaultParameterSetName argument sa používa na definovanie predvolenej sady parametrov, ktorú funkcia volá. V tomto príklade je predvolený názov sady parametrov DisplayResult .

The DefaultParameterSetName je deklarovaný v riadku 1 kódu.

PowerShell sa pokúsi použiť sadu parametrov deklarovanú DefaultParameterSetName ak nedokáže určiť, ktorý súbor parametrov sa má použiť. Ak si však nastavíte povinné parametre, tomuto problému sa môžete vyhnúť.

V každom prípade nie je na škodu deklarovať predvolený názov sady parametrov.

FolderPath Príklad parametra reťazca

Tu začína zábava! The FolderPath parameter sa používa na zadanie cesty k priečinku, funkcia získa veľkosť svojich podpriečinkov – a spočíta počet súborov v každom podpriečinku.

Toto je parameter reťazca. To znamená, že akceptuje akýkoľvek reťazec ako vstup.

diskordovať textový kanál

Jedna vzrušujúca vlastnosť FolderPath parameter je, že je spoločný pre 3 názvy sád parametrov. Skôr v tomto článku som vysvetlil výzvu, ktorej môžu čeliť noví vývojári skriptov PowerShell v tejto situácii.

Vyhlásiť FolderPath parameter v troch názvoch sady parametrov som vytvoril tri atribúty parametrov.

Prvý atribút parametra je medzi riadkami 5 a 11. Tento atribút prvého parametra má navyše viacero argumentov.

Bol by som však rád, keby ste venovali osobitnú pozornosť ParameterSetName argument - DisplayResult .

Príklad parametra reťazca FolderPath

Po druhé, medzi riadkami 12 a 18 som deklaroval ďalší atribút parametra s a ParameterSetName argument tzv ExportTxt .

Nakoniec som medzi riadkami 19 a 25 deklaroval tretí atribút parametra s a ParameterSetName argument tzv Exportovať CSV .

Príklad parametra reťazca FolderPath

Navyše, ak si všimnete, na rozdiel od deklarovania 3 atribútov parametrov som deklaroval single alias a ValidateNotNullOrEmpty atribúty. Tieto atribúty nájdete v riadkoch 26 a 27.

Príklad parametra reťazca FolderPath

Nakoniec, hneď pod všetky atribúty a ich argumenty som uviedol názov parametra – FolderPath . Názov parametra je v riadku 28.

Príklad parametra reťazca FolderPathV poslednej podsekcii tejto časti uvidíte, ako funkcia zobrazuje tento parameter v 3 syntaxách príkazov.

DisplayResult , ExportTxt A Exportovať CSV Príklad parametra prepínača

Z riadku 29 kódu param som deklaroval ďalšiu sadu atribútov parametrov a ich argumentov.

Najprv medzi riadkami 29 a 37 deklarujem atribúty parametrov a argumenty pre DisplayResult parameter.

Potom medzi riadkami 38 a 47 deklarujem ďalší parameter tzv ExportTxt .

Príklad parametra prepínača DisplayResult, ExportTxt a ExportCSV

Nakoniec som medzi riadkami 48 a 57 vyhlásil Exportovať CSV parameter.

3 parametre, ktoré som opísal v tejto časti, sú všetky Prepínač parametre. Ako už viete, znamená to, že parametre nevyžadujú žiadny vstup od používateľa.

Keď používateľ vyberie niektorý z parametrov, funkcia zmení spôsob zobrazovania výsledkov.

Ako používať parameter PowerShell vo funkcii PowerShell

V tejto podsekcii chcem zaviesť funkčný blok PowerShell do môjho vzorového kódu.

Syntax funkčného bloku PowerShell je…

|_+_|

Pre posledný príklad v tejto príručke nahradím blok parametrov PowerShell v rámci syntaxe funkcie mojím kódom param z poslednej podsekcie. Dodatočne nahradím funkciu za Get-FolderSizeFileCount , názov funkcie.

Konečná funkcia bude teraz vyzerať takto...

|_+_| V tomto príklade sú bloky Začiatok {}, Proces {} a Koniec {} prázdne.

Testovanie mojich parametrov PowerShell vo funkcii PowerShell

V tejto záverečnej časti otestujem parametre vo funkcii, ktorú som vytvoril v poslednej časti.

Ak si to chcete sami vyskúšať, kód si môžete stiahnuť kliknutím na tento odkaz – Get-FolderSizeFileCount.zip . Potom rozbaľte zip súbor.

Po rozbalení súboru otvorte PowerShell a spustite príkaz nižšie:

|_+_| Zmeňte na úplnú cestu k rozbalenému súboru.

Keď spustíte príkaz, dostanete varovnú správu. Pri výzve na správu zadajte R a stlačte kláves enter na klávesnici.

Testovanie mojich parametrov PowerShell vo funkcii PowerShell

Po importovaní modulu spustite v rovnakej konzole PowerShell príkaz nižšie:

|_+_|

Tu je výsledok príkazu…

To, čo vám chcem ukázať, je sekcia SYNTAX na stránke pomocníka mojej funkcie. Na snímke obrazovky vyššie môžete spustiť príkaz Get-FolderSizeFileCount v 3 rôznych príkazoch:

|_+_|

Prvá vec, ktorú treba poznamenať, je, že tieto tri syntaxe majú FolderPath parameter reťazca. Ak si prečítate túto príručku, budete vedieť prečo.

Okrem toho si všimnete, že prvá syntax má príponu DisplayResult parameter prepínača tiež. Nakoniec, v druhej a tretej syntaxi máte Exportovať CSV a ExportTxt parameter prepínača resp.

Navyše k FolderPath a Exportovať CSV parametre a ExportTxt parametre v druhej a tretej syntaxi, majú tiež ReportPath parameter reťazca. Tento parameter som nespomenul, pretože kód deklarácie je podobný ako FolderPath kód, s malými rozdielmi. The ReportPath sa používa na zadanie cesty, do ktorej bude funkcia ukladať textové správy a správy súborov CSV.

To je všetko – komplexný sprievodca parametrami PowerShell! Dúfam, že vám to pomohlo?

Ak vám to pomohlo, zahlasujte Áno na otázku Bol tento príspevok užitočná nižšie.

Prípadne môžete položiť otázku, zanechať komentár alebo poskytnúť ďalšiu spätnú väzbu pomocou formulára Zanechať odpoveď, ktorý nájdete na konci tejto stránky.

Nakoniec, ak chcete získať viac zón PowerShell tech S, navštívte našu stránku sprievodcu Windows PowerShell ako na to. Veľmi užitočná vám môže byť aj naša stránka Práca z domovskej stránky.

Referencie a ďalšie čítanie

  1. Ako definovať typy údajov PowerShell
  2. about_Functions_Advanced_Parameters
  3. about_Functions_CmdletBindingAttribute