PowerShelli parameetrid: süntaks, tüübid, atribuudid, argumendid ja näited

15. juuni 2021 16760 Vaated PowerShelli parameetrid: süntaks, tüübid, atribuudid, argumendid ja näited

PowerShelli skripti arendajad kasutavad täiustatud funktsioonidele parameetrite lisamiseks Powershelli parameetriplokki. Igaüks, kes seda funktsiooni kasutab, pääseb juurde PowerShelli parameetriga lisatud parameetritele.





Lisaks parameetrite plokiga funktsioonile lisatud parameetritele lisab Windows PowerShell automaatselt ka ühiseid parameetreid.



See juhend hõlmab Powershelli parameetrite süntaksit, Powershelli parameetrite tüüpe, nende atribuute ja argumente. Samuti on toodud mõned näited, kuidas kasutada parameetrite plokki skriptile või funktsioonile parameetrite lisamiseks.

Sirvi postituste teemasid



PowerShelli parameetriploki süntaks

PowerShelli parameetriploki süntaks

PowerShell Parami süntaks on…



|_+_|

Funktsioonile afunction parameetri lisamiseks alustage sõnaga peatus , millele järgneb parameetriplokk (). Siin on parameetriploki lihtne vorm…

|_+_| The CmdletBinding atribuut on valikuline ja see on ainus väljaspool parameetriplokki määratletud atribuut. Lisateavet selle kohta hiljem juhendis

Parameetriplokis – param () – saate määratleda parameetri atribuudid ja nende argumendid. Lisaks on parameetri atribuut suletud [()] plokki.



Ülaltoodud süntaksikoodis muutsin kõik parameetrite argumendid paksuks. Parameetriargumente on palju rohkem – süntaksis olevad argumendid on vaid illustratiivsed ega ole mingil juhul ammendavad.

Parameetriplokis määratlete parameetrite argumendid, eraldades need komadega. PowerShelli parameetri atribuudi näide on parameeter atribuut.



Lisaks on param argumendi näide kohustuslik argument. Teine näide param argumendist on ParameterSetName .

Lõpuks määrate parameetri nime. Lisaks määrate ka parameetri andmetüübi.

Järgmises jaotises käsitlen PowerShelli parameetrite levinumaid tüüpe. Seejärel käsitletakse kolmandas jaotises ühiseid parameetriatribuute ja nende argumente.

Lõpetuseks annan selle juhendi viimases jaotises SysAdmini tegeliku näite PowerShelli parameetrist. Jaotises tuuakse ka näiteid parameetriploki kasutamise kohta täpsemates funktsioonides.

PowerShelli parameetrite tüübid

PowerShelli parameetri tüübid

Kõige tavalisemad parameetrite tüübid, mida saate määrata, on string või lüliti parameetrid. Lisaks saate ka määratleda int , bool , Kuupäev Kellaaeg või char parameetri tüübid.

Selles jaotises selgitan mõnda seda tüüpi parameetreid. Toon ka mõned näited, kuidas neid parameetriplokis defineerida.

PowerShelli parameeter String Parameeter

PowerShelli parameetrite loomisel on tõenäoline, et loote a string parameeter. A string parameeter aktsepteerib mis tahes stringi väärtust.

Windows PowerShellis võib string olla numbreid, sõnu või märke. Täpsemalt, kõik, mille deklareerite topelt- või üksikjutumärgis, on string.

PowerShellis on stringi objektitüüp Süsteem.String .

PowerShelli parameetri stringiparameetrina deklareerimiseks lisage sõna parameetri nime ette string sulgudes. Siin on näide…

|_+_|

PowerShelli parameeter int Parameeter

An int andmetüüp on 32-bitine märgiga täisarv. Inglise keeles an int on arv, näiteks 1, 2 või 3.

Erinevalt a string parameetri andmetüüp, mis võib võtta mis tahes tüüpi andmeid, an int parameeter on väga ettekirjutav.

Kui määratlete an int parameetri puhul saab parameeter aktsepteerida ainult numbreid. Lisaks, kui sisestate väärtuseks sõnad int parameeter, siis PowerShell saadab veateate.

Enne kui näitan teile, kuidas PowerShelli parameetrit määratleda int parameeter, siin on üldine näide int-andmetüübi määratlemisest…

|_+_|

Kui käivitan koodi PowerShellis, naaseb see 123 .

PowerShell Param int Parameeter

Vastupidi, kui ma asendan, 123 on see int, saadab PowerShell veateate.

|_+_|

Nüüd, kui teil on olnud int andmetüübi krahhikursus, et luua PowerShelli parameeter int parameeter nimega number, siin on kood…

|_+_|

See sunnib teie skripti või funktsiooni kasutajaid esitama õiget andmetüüpi.

PowerShelli parameeter Kuupäev Kellaaeg Parameeter

Nagu an int parameeter, a Kuupäev Kellaaeg parameeter on ka vastuvõetava sisendi tüübi suhtes väga ettekirjutav. Nagu nimigi ütleb, Kuupäev Kellaaeg parameeter aktsepteerib ainult kuupäeva ja kellaaja vormingus sisendeid.

Kui soovite määratleda PowerShelli parameetri, mis aktsepteerib ainult kuupäevi, kasutage allolevat näidiskoodi ...

|_+_|

Selles näites Sisesta kuupäev on parameetri nimi. Lisaks Kuupäev Kellaaeg määrab andmetüübi.

PowerShelli parameeter Lüliti Parameeter

Selle jaotise esimeses kolmes alamjaotises olen käsitlenud PowerShelli parameetritüüpe, mis nõuavad kasutajalt sisendit.

Siiski on PowerShelli parameetritüüp, mis ei nõua kasutajalt sisendit. Erinevalt teist tüüpi parameetritest on a lüliti parameeter ei nõua kasutaja sisestust.

See, kuidas te määratlete a lüliti parameeter on sarnane teist tüüpi parameetrite määratlemise viisiga. Siiski asemel lüliti , int , või kuupäev Kellaaeg , kasuta sõna lüliti .

Näiteks PowerShelli parameetri määratlemiseks Lüliti parameeter, Ekspordi CSV , kasutage allolevat koodi…

|_+_|

Lõpetuseks, selle jaotise puhul võib teil tekkida küsimus rakenduse kohta lüliti parameetrid. Mõelge PowerShelli skriptile või funktsioonile, mis kuvab tulemusi Powershelli konsoolil.

Samuti võite soovida anda kasutajale võimaluse eksportida tulemus teksti- või CSV-faili.

Üks võimalus funktsiooni kodeerimiseks on luua 3 lüliti parameetrit. Kasutaja saab seejärel valida ühe parameetritest olenevalt sellest, kuidas ta soovib, et funktsioon tulemust annaks.

Seda tüüpi parameetrid ei nõua kasutajalt sisendi sisestamist. Lihtsalt valides parameetri, kuvab funktsioon vastavalt väljundi.

Konkreetsete andmetüüpidega saate määratleda ka muid PowerShelli parameetreid. PowerShelli andmetüüpide kohta lisateabe saamiseks külastage seda linki – Kuidas määratleda PowerShelli andmetüüpe .

PowerShelli parameetri parameetrite atribuudid ja argumendid

PowerShelli parameetri parameetrite atribuudid ja argumendid

Selle juhendi PowerShelli parameetri süntaksis vihjasin, et PowerShelli parameetril on atribuudid. Lisaks juhtisin tähelepanu sellele, et igal parameetri atribuudil on ka argumendid.

Selles jaotises käsitlen parameetrite atribuute ja nende argumente.

Parameetrite atribuutide ja nende argumentide selgitamiseks viitan selle juhendi esimeses jaotises tutvustatud PowerShelli parameetri süntaksile.

|_+_|

PowerShelli parameeter CmdletBinding Atribuut

The CmdletBinding atribuut määratakse tavaliselt enne parameetriplokki. Kui määratlete CmdletBinding atribuut, tunneb PowerShell skripti ära täiustatud funktsioonina.

Selle juhendi süntaksi osas kasutasin seda koodi parameetriploki lihtsustatud versioonina.

|_+_|

Selles jaotises keskendun ma sellele CmdletBinding Atribuut osa koodist. Siin on, kuidas määratleda Atribuut …

|_+_|

Järgmises 3 alajaotuses käsitlen mõningaid levinud argumente, mida saate määratleda CmdletBinding atribuut.

Kahtluste vältimiseks peate kõik määratlema Argumendid ploki () sees Atribuut . Samuti PEATE eraldama kõik atribuudid komaga (,), välja arvatud viimane Argumendid sees Atribuut .

PowerShelli parameeter DefaultParameterSetName Argument

Kui töötate välja PowerShelli funktsiooni, võib see sisaldada mitut parameetrit, mida kasutaja saab samas käsus kasutada. Lisaks võib sama PowerShelli funktsioon sisaldada teist parameetrite komplekti, mida kasutaja saab kasutada mõnes teises käsus.

Kuid kasutaja ei saa segada esimese komplekti parameetreid teise komplekti parameetritega.

Lisaks määrab funktsiooniarendaja kõik parameetrid, mida kasutaja saab kasutada ühes käsuga ParameterSetName argument. The ParameterSetName argument on määratletud parameetri atribuudis (sellest leiate rohkem teavet järgmises jaotises).

Erinevate rühmitatud parameetrite komplektide olemasolu tähendab, et teil on erinevad ParameterSetName s.

Erinevatega ParameterSetName s trotsib teie parameetrite plokki, võite otsustada määratleda ühe neist ParameterSetName s vaikimisi. Siin kasutate DefaultParameterSetName Argument.

The DefaultParameterSetName Argument on määratletud CmdletBinding atribuudiplokk. Siin on näide…

|_+_|

Lõpuks, et säilitada meie PowerShelli parameetriploki vorming, tutvustan allpool uuesti parameetriplokki…

|_+_|

PowerShelli parameeter SupportsShouldProcess Argument

See on veel üks argument, mille saate määratleda CmdletBinding Atribuut . Nagu DefaultParameterSetName Argument, SupportsShouldProcess Argument on valikuline.

The SupportsShouldProcess Argument lisab Kinnita ja Mis siis kui funktsiooni ühised parameetrid.

Selle argumendi lisamiseks lisage lõppu koma (,). DefaultParameterSetName argument. Seejärel lisage rida - SupportsShouldProcess =$true või $false.

Selle uue argumendiga on CmdletBinding Atribuut näeb nüüd välja selline…

|_+_|

PowerShelli parameeter HelpURI Argument

Kui olete PowerShelliga tuttav Hankige abi Cmdlet, võib-olla olete sellega kokku puutunud Internetis parameeter. Kui jooksed Hankige abi koos Internetis parameeter, avab PowerShell cmdleti abilehe.

Näiteks Out-File Cmdleti veebiabilehe avamiseks käivitage allolev käsk ...

|_+_|

Selle käsuga avatud leht on defineeritud funktsioonis HelpURI Argument. Seega, kui soovite, et kasutajad pääseksid juurde teie funktsiooni veebiabilehele, määrake HelpURI Argument.

Siin on näide…

|_+_|

Lisan nüüd selle viimase argumendi teemasse CmdletBinding Atribuut . Siin on värskendatud kood…

|_+_|

PowerShelli parameeter Parameeter Atribuut

PowerShelli parameetris CmdletBinding Atribuutide alamjaotises arutasin 3 argumenti, mida saate lisada CmdletBinding Atribuutide plokk.

Nagu olete näinud, CmdletBinding Atribuudiplokk on ainus väljaspool parameetriplokki määratletud atribuut.

Selles alamjaotises saate teavet parameetri atribuudi kohta. Lisaks saate teada levinumate argumentide kohta, mida saate sellele atribuudile lisada.

Nagu võisite selles juhendis juba kasutatud näidetest järeldada, määrab parameetri atribuut argumendid, mis juhivad PowerShelli parameetri parameetri käitumist.

Windows 10 rippuvad või krahhivad rakendused

Parameetri atribuudi saate määratleda, lisades [] plokki sõna Parameeter, millele järgneb sulud (). Siin on näide…

|_+_|

Edasi liikudes PEAB defineerima kõik parameetri atribuudi argumendid () plokis.

Jaotise PowerShelli parameetri parameetri atribuut järgmistes alamjaotistes tutvustan ja selgitan tavalisi argumente, mida saate parameetri atribuudis määratleda.

PowerShelli parameeter ParameterSetName Argument

Kui ma seletasin DefaultParameterSetName selles juhendis tutvustasin ParameterSetName Argument. Seda argumenti saate kasutada parameetrite komplekteerimiseks või rühmitamiseks, mida kasutaja saab sama käsuga käivitada.

Näiteks defineerida a ParameterSetName helistas ParameetrikomplektName1 , sisestage plokki Parameetri atribuut () allolev kood.

|_+_|

Kui ma seda värskendatud koodi tutvustan, näeb minu näidiskoodi parameetriplokk nüüd välja selline.

|_+_|

Kui ma toon tagasi CmdletBinding atribuut, näeb minu PowerShelli parameetri näidiskood nüüd välja selline…

|_+_|

PowerShelli parameeter Kohustuslik Argument

Saate kasutada Kohustuslik argument, et määrata, kas parameeter on kohustuslik või valikuline. The Kohustuslik argument aktsepteerib väärtust $true või $false – $tõene tähendab, et nõutakse, $false, pole nõutav.

Lisaks on Kohustuslik argument on valikuline. Kui aga seda argumenti ei määratleta, käsitletakse parameetrit valikulisena.

Et määratleda Kohustuslik Argument, lisage allolev kood parameetri atribuudi plokki…

|_+_|

Lõpuks, kui ma lisan Kohustuslik Argumendikood minu PowerShelli parameeterkoodile, mul on nüüd…

|_+_|

PowerShelli parameeter positsioon Argument

The positsioon Parameetri atribuudi argument määrab parameetri asukoha. Väärtus on täisarv, mis algab 0-st (null).

Kasu sellest positsioon Argument on lubada kasutajatel funktsiooni parameetrite positsiooni kasutades käivitada. Täpsemalt, kui määratlete positsioon Argument, kasutaja saab sisestada iga parameetri väärtused käsureale ilma parameetrit täpsustamata.

Seejärel määrab PowerShell iga väärtuse käsureal vastavalt parameetri positsioonile.

Näiteks Get-ChildItem Cmdletil on parameeter nimega Tee (positsiooniga 0). Cmdletil on ka teine ​​parameeter, Filter (positsiooniga 1).

Vaikimisi, kui ma käivitan Get-ChildItem käsku, pean enne nende väärtuste lisamist lisama parameetrite nimed. Vaadake allolevat käsku…

|_+_|

Selles käsus kutsusin välja parameetrid ja seejärel määrasin nende väärtused.

PowerShelli parameetri positsiooni argument

Kuna aga tean nende kahe parameetri asukohti, saan nende asukohtadesse väärtusi lisada ilma parameetreid otseselt välja kutsumata. Seejärel muudan oma käsku, nagu allpool näidatud…

|_+_|

Ilmselgelt säästab see minu aega! Kui aga vaatate pikka PowerShelli koodi, võib see segadust tekitada.

Käsk annab sama tulemuse ka PowerShellis…

PowerShell määrab automaatselt positsioonide väärtused parameetritele nende põhjal positsioon Argument.

Edasi liikudes määratlete järgmiselt positsioon Argument…

|_+_| Selles näites on minu parameetri asukoht 0 (null). Kui ma määran oma järgmise parameetri, on see positsioonis 1 ja nii edasi. Kaht parameetrit ei saa olla samas asendis. Hilisemas juhendis saate teada, kuidas lisada ühte parameetrit samasse kohta, kuid erinevatesse ParameterSetNames.

Lisan nüüd selle argumendi oma näidiskoodile…

|_+_|

PowerShelli parameeter ValueFromPipeline Argument

Teine sageli kasutatav parameetrite lisand on ValueFromPipeline Argument. Nagu nimigi viitab, määrab see argument, kas parameeter aktsepteerib konveieri väärtusi.

Tema on see, kuidas sa seda argumenti määratled…

|_+_|

Kui lisan oma koodile selle uue argumendi, näeb see välja selline…

|_+_|

On veel üks argument, mida nimetatakse ValueFromPipelineByPropertyName . Selle argumendi kohta lugemiseks külastage lehte about_Functions_Advanced_Parameters .

PowerShelli parameeter Abisõnum Argument

Selle argumendi abil saate määrata sõnumi, mis näitab kasutajatele, kuidas parameetrit kasutada. Et määratleda a Abisõnum Argument parameetri kohta, kasutage allolevale sarnast koodi...

|_+_|

Ja siin on nüüd minu värskendatud kood…

|_+_|

Siiani olen selles jaotises käsitlenud kahte PowerShelli parameetri atribuuti – CmdletBinding ja Parameeter . Lisaks arutasin ka tavalisi argumente, mida saate nende atribuutide jaoks määratleda.

Selle jaotise ülejäänud kolmes alamjaotises õpetan teile 3 sagedamini kasutatavat PowerShelli parameetri atribuuti. Need 3 atribuuti ei nõua aga argumentide määratlemist.

PowerShelli parameeter Teise nimega Atribuut

Pseudonüümi atribuuti kasutatakse parameetri varjunimede määramiseks. Nagu võite arvata, saab parameetri asemel kasutada PowerShelli parameetri varjunime.

Enne kui näitan teile, kuidas parameetri pseudonüümi atribuuti määratleda, lubage mul esmalt näidata, kuidas leida arvutist kõigi käsumikkude ja funktsioonide varjunimesid.

Kõigi cmdlet-käskude ja funktsioonide varjunimede loetlemiseks käivitage allolev käsk

|_+_|

See loetleb kõik varjunimed…

PowerShelli parameetri aliase atribuut

Liikudes edasi Teise nimega Atribuut PowerShelli parameetri parameetri määramiseks kasutage allolevaga sarnast koodi…

|_+_| Selles näites on FP parameetri varjunimi.

Kui lisan selle oma koodile, näeb värskendatud versioon välja selline…

|_+_|

PowerShelli parameeter Toetab metamärke Atribuut

See parameetri atribuut param määrab, kas parameeter aktsepteerib metamärke. Siin on, kuidas saate selle atribuudi määratleda ...

|_+_|

PowerShelli parameeter ValidateNotNullOrEmpty Valideerimisatribuut

Nagu enamik selles juhendis juba käsitletud atribuute, annab ka selle atribuudi nimi selle ära. See on valideerimisatribuut.

Selle atribuudi määratlemisel EI aktsepteeri parameeter nullväärtust ($null). Lisaks ei aktsepteeri see tühja () väärtust.

Kui kasutaja sisestab $null või , annab funktsioon veateate. Selle atribuudi määratlemiseks sisestage allolev kood...

|_+_|

Lõpuks värskendan oma koodi kahe viimase atribuudiga…

|_+_|

PowerShelli parameetri parameetri nimi

Kui olete parameetri kõik atribuudid ja argumendid määratlenud, peate lisama parameetri nime. PowerShelli parameetri parameeter määratletakse nagu muutuja – dollarimärgiga ($), millele järgneb parameetri nimi.

Soovi korral saate parameetri jaoks sisestada ka andmetüübi. Selle juhendi 2. jaotises käsitlesin erinevat tüüpi PowerShelli parameetreid.

Siin on, kuidas määratlete aktsepteeritava parameetri string andmetüüp.

|_+_|

Siin on minu värskendatud koodi näide ...

|_+_|

Kuidas määratleda ühte PowerShelli parameetrit mitmes parameetrikomplektis

Kuidas määratleda ühte PowerShelli parameetrit mitmes parameetrikomplektis

Kui olete PowerShelli funktsioonide kodeerimises uus, on tõenäoline, et langete kiusatusse määrata üks parameeter mitu korda.

Üks põhjus, miks soovite parameetrit mitu korda kasutada, on see, kui parameetrit kasutatakse mitmes ParameterSetNamesis (mitu parameetrikomplekti).

Selle koju sõitmiseks oletame, et töötate välja PowerShelli funktsiooni, millel on Tee parameeter. Siiski on teil 2 ParameterSetNames, mis nõuavad parameetrit Path.

Enamik inimesi, kes pole PowerShelli skriptimisega uued, määravad tõenäoliselt allpool näidatud parameetrid…

|_+_|

Kui määrate parameetrid, nagu ülal näidatud, kuvatakse teile veateade. Selle teooria testimiseks kopeerin koodi PowerShelli ISE-sse.

Kuidas määratleda ühte PowerShelli parameetrit mitmes parameetrikomplektis

Niisiis, kuidas seda parandada? Lahendus on määratleda 2 parameetri atribuuti ja nende argumendid, sealhulgas nende ParameterSetNames.

Seejärel määrake mõlema parameetri atribuudi lõpus üks parameetri nimi, mis on mõlema parameetri atribuudi jaoks ühine. Eelmises näites eemaldan esimese parameetri nime ja jätan viimase.

|_+_|

Kui ma nüüd selle koodi PowerShelli ISE-sse kopeerin, on kõik korras.

Selles näites pange tähele, et mõlema parameetri atribuudi parameetrite argumendid võivad olla täiesti erinevad. Lisaks saate määrata nii palju parameetriatribuute, kui soovite.

PowerShelli parameetrite näited

PowerShelli parameetrite näited

Selles juhendi viimases osas toon näite SysAdmin PowerShelli tegelikust elust.

Selle juhendi kirjutamise ajal hakkasin välja töötama PowerShelli skripti/funktsiooni, et saada kausta suurust ja failide arvu. Siin on funktsiooni param osa…

|_+_|

Selle jaotise järgmistes alajaotistes selgitan parameetri erinevaid elemente. Viimases jaotises tutvustatakse funktsiooniplokki ja lisatakse funktsiooni parameetriplokk.

Järgmistes alajaotistes viidatud koodi ridade järgimise hõlbustamiseks laadige alla PowerShellParamExample.zip . Seejärel pakkige fail lahti ja avage .ps1-fail PowerShelli ISE-s.

ParameterSetName PowerShelli parameetri näide

Minu PowerShelli parameetri näidiskoodil on kolm ParameterSetNamesi – DisplayResult , EksportTxt ja Ekspordi CSV . Kasutasin neid nimesid, et nende tegevust oleks lihtne tuvastada.

Selle jaotise sissejuhatuses mainisin, et funktsioon, mille selle parameeterkoodiga koostan, kuvab määratud kausta iga alamkausta jaoks kausta suurust ja failide arvu.

Seetõttu pakuvad kolm ParameterSetName'i kasutajale võimalust kuvada tulemusi PowerShelli konsoolil. Teise võimalusena on kasutajal võimalus eksportida tulemus teksti- või CSV-faili.

Lisaks iga ParameterSetName määrake kõik parameetrid, mida kasutaja saab ühe käsuga kutsuda. Sellest ideest lähtudes on minu lootaval funktsioonil kolm käsuvalikut või süntaksit.

Laiendan seda ideed järgmistes alajaotistes ja näidetes.

CmdletBinding Atribuut Ja DefaultParameterSetName Argumentide näited

Selle juhendi eelmistes osades leidsite CmdletBinding Atribuut. Pealegi puutusite kokku ühe selle argumendiga – DefaultParameterSetName .

The DefaultParameterSetName argumenti kasutatakse vaikeparameetrite komplekti määratlemiseks, mida funktsioon kutsub. Selles näites on parameetrikomplekti vaikenimi DisplayResult .

The DefaultParameterSetName on deklareeritud koodi real 1.

PowerShell proovib kasutada parameetrite komplekti, mille on deklareerinud DefaultParameterSetName kui see ei suuda määrata, millist parameetrikomplekti kasutada. Kui aga määrate kohustuslikud parameetrid, saate seda probleemi vältida.

Igal juhul pole parameetrite vaikekomplekti nime deklareerimine kahju.

FolderPath Stringi parameetri näide

Siit saab alguse lõbu! The FolderPath parameetrit kasutatakse kausta tee sisestamiseks, funktsioon saab oma alamkaustade suuruse – ja loendab igas alamkaustas olevate failide arvu.

See on stringi parameeter. See tähendab, et see aktsepteerib sisendina mis tahes stringi.

Üks põnev omadus FolderPath parameeter on see, et see on ühine kolme parameetrikomplekti nimega. Selle artikli alguses selgitasin väljakutset, millega uued PowerShelli skripti arendajad võivad selles olukorras silmitsi seista.

Et kuulutada välja FolderPath parameetri kolmes parameetrikomplekti nimes, lõin kolm parameetri atribuuti.

Parameetri esimene atribuut asub ridade 5 ja 11 vahel. Lisaks on sellel esimesel parameetriatribuudil mitu argumenti.

Siiski tahaksin, et pööraksite erilist tähelepanu sellele ParameterSetName argument - DisplayResult .

FolderPath stringi parameetri näide

Teiseks, ridade 12 ja 18 vahel deklareerisin a-ga veel ühe parameetri atribuudi ParameterSetName vaidlus kutsus EksportTxt .

kuidas lubada ekraanil jagamist ebakõlas

Lõpuks, ridade 19 ja 25 vahel, deklareerisin kolmanda parameetri atribuudi a-ga ParameterSetName vaidlus kutsus Ekspordi CSV .

FolderPath stringi parameetri näide

Veelgi enam, kui märkate, erinevalt kolme parameetri atribuudi deklareerimisest deklareerisin ma ühe Teise nimega , ja ValidateNotNullOrEmpty atribuudid. Need atribuudid leiate ridadelt 26 ja 27.

FolderPath stringi parameetri näide

Lõpuks lisasin kõigi atribuutide ja nende argumentide alla parameetri nime - FolderPath . Parameetri nimi on real 28.

FolderPath stringi parameetri näideSelle jaotise viimases alajaotuses näete, kuidas funktsioon seda parameetrit kolmes käsusüntaksis kuvab.

DisplayResult , EksportTxt Ja Ekspordi CSV Lüliti parameetri näide

Parameetri koodi realt 29 deklareerisin teise parameetri atribuutide komplekti ja nende argumendid.

Esiteks deklareerin ridade 29 ja 37 vahel parameetri atribuudid ja argumendid DisplayResult parameeter.

Seejärel deklareerin ridade 38 ja 47 vahel veel ühe parameetri nimega EksportTxt .

DisplayResult, ExportTxt ja ExportCSV lüliti parameetri näide

Lõpuks, ridade 48 ja 57 vahel, deklareerisin Ekspordi CSV parameeter.

Kolm parameetrit, mida selles jaotises kirjeldasin, on kõik Lüliti parameetrid. Nagu te juba teate, tähendab see, et parameetrid ei nõua kasutajalt mingit sisendit.

Kui kasutaja valib mõne parameetri, muudab funktsioon tulemuste kuvamise viisi.

Kuidas kasutada PowerShelli parameetrit PowerShelli funktsioonis

Selles alajaotises tahan oma näidiskoodis tutvustada PowerShelli funktsiooniplokki.

PowerShelli funktsiooniploki süntaks on…

|_+_|

Selle juhendi viimase näite puhul asendan funktsiooni süntaksis PowerShelli parameetrite ploki oma viimases alamjaotises oleva parameetrikoodiga. Lisaks asendan funktsiooni funktsiooniga Get-FolderSizeFileCount , funktsiooni nimi.

Lõplik funktsioon näeb nüüd välja selline…

|_+_| Selle näite puhul on plokid Begin {}, Process {} ja End {} tühjad.

Minu PowerShelli parameetrite testimine PowerShelli funktsioonis

Viimases jaotises testin parameetreid funktsioonis, mille lõin viimases jaotises.

Kui teile meeldib seda ise testida, saate koodi alla laadida, klõpsates sellel lingil – Get-FolderSizeFileCount.zip . Seejärel pakkige ZIP-fail lahti.

Kui olete faili lahti pakkinud, avage PowerShell ja käivitage allolev käsk:

|_+_| Valige lahtipakkitud faili täielik tee.

Käsu käivitamisel kuvatakse hoiatusteade. Sisestage sõnumiviipale R ja vajutage klaviatuuril sisestusklahvi.

Minu PowerShelli parameetrite testimine PowerShelli funktsioonis

Kui moodul on imporditud, käivitage samal PowerShelli konsoolil allolev käsk:

|_+_|

Siin on käsu tulemus…

Mida ma tahan teile näidata, on minu funktsiooni abilehe jaotis SÜNTAKS. Ülaltoodud ekraanipildil saate käivitada käsu Get-FolderSizeFileCount kolmes erinevas käsus:

|_+_|

Esimene asi, mida tuleb märkida, on see, et kolmel süntaksil on FolderPath stringi parameeter. Kui loete selle juhendi läbi, saate teada, miks.

Lisaks märkate, et esimesel süntaksil on DisplayResult lüliti parameeter samuti. Lõpuks on teil teises ja kolmandas süntaksis Ekspordi CSV , ja EksportTxt vastavalt lüliti parameeter.

Lisaks FolderPath , ja Ekspordi CSV parameetrid ja EksportTxt parameetrid vastavalt teises ja kolmandas süntaksis, on neil ka ReportPath stringi parameeter. Ma ei maininud seda parameetrit, kuna deklaratsiooni kood on sarnane FolderPath kood, mõningate väikeste erinevustega. The ReportPath kasutatakse teksti- ja CSV-faili aruannete salvestamise tee määramiseks.

See on kõik – põhjalik juhend PowerShelli parameetrite kohta! Loodan, et leidsite sellest abi?

Kui leidsite sellest abi, hääletage lahkesti Jah Kas see postitus oli kasulik allpool olevale küsimusele.

Teise võimalusena võite esitada küsimuse, jätta kommentaari või anda rohkem tagasisidet, kasutades selle lehe lõpus asuvat vormi Jäta vastus.

Lõpuks, rohkemate PowerShelli tehniliste S-tsoonide vaatamiseks külastage meie Windows PowerShelli juhendi lehte. Samuti võib teile palju abi olla meie lehelt Work from Home.

Viited ja lisalugemine

  1. Kuidas määratleda PowerShelli andmetüüpe
  2. about_Functions_Advanced_Parameters
  3. about_Functions_CmdletBindingAttribute