PowerShell Param: Sintaxă, Tipuri, Atribute, Argumente și Exemple
Dezvoltatorii de script PowerShell folosesc blocul Powershell Param pentru a adăuga parametri la funcțiile avansate. Oricine rulează funcția poate accesa parametrii adăugați cu PowerShell Param.
În plus, în afară de parametrii adăugați unei funcții cu blocul Param, Windows PowerShell adaugă automat parametri comuni.
Acest ghid acoperă sintaxa Powershell Param, tipurile de parametri Powershell, atributele și argumentele acestora. De asemenea, oferă câteva exemple de utilizare a blocului Param pentru a adăuga parametri la un script sau o funcție.
Răsfoiți subiectele postărilor
- Sintaxa unui bloc de parametri PowerShell
- Tipuri de parametri PowerShell
- Atribute și argumente ale parametrilor PowerShell Param
- Cum să definiți un parametru PowerShell în mai multe seturi de parametri
- Exemple de parametri PowerShell
- ParameterSetName PowerShell Param Exemplu
- CmdletBinding Atribut și DefaultParameterSetName Exemple de argument
- Exemplu de parametru șir FolderPath
- Exemplu de parametru de comutare DisplayResult, ExportTxt și ExportCSV
- Cum să utilizați PowerShell Param într-o funcție PowerShell
- Testarea parametrilor mei PowerShell în funcția PowerShell
- Referințe și lecturi suplimentare
Sintaxa unui bloc de parametri PowerShell
Sintaxa PowerShell Param este...
|_+_|
Pentru a adăuga un parametru la o funcție, începeți cu cuvântul Stop , urmat de blocul de parametri, (). Iată o formă simplă a unui bloc de parametri...
|_+_| The CmdletBinding atributul este opțional și este singurul atribut definit în afara blocului param. Mai multe despre asta mai târziu în ghidÎn blocul Param – param () – veți defini atributele Parametrului și argumentele acestora. Mai mult, un atribut de parametru este inclus într-un bloc [()].
În codul de sintaxă de mai sus, am îngroșat toate argumentele parametrilor. Există mult mai multe argumente ale parametrilor – cele din sintaxă au doar scop ilustrativ și nu sunt în niciun fel exhaustive.
În cadrul blocului de parametri, veți defini argumente ale parametrilor, separate prin virgulă. Un exemplu de atribut PowerShell Param este parametru atribut.
În plus, un exemplu de argument param este obligatoriu argument. Un alt exemplu de argument param este ParameterSetName .
În cele din urmă, veți defini numele parametrului. Mai mult, veți specifica și tipul de date al parametrilor.
În secțiunea următoare, voi discuta tipurile comune de parametri PowerShell. Apoi, secțiunea a treia acoperă atributele comune ale parametrilor și argumentele acestora.
În cele din urmă, în ultima secțiune a acestui ghid, voi oferi un exemplu real de Admin Sys al unui parametru PowerShell. Secțiunea va oferi, de asemenea, exemple despre cum să utilizați blocul de parametri într-o funcție avansată.
Tipuri de parametri PowerShell
Cele mai comune tipuri de parametri pe care le puteți seta sunt şir sau intrerupator parametrii. În plus, puteți defini int , bool , DateTime sau tipuri de parametri char.
În această secțiune, voi explica câteva dintre aceste tipuri de parametri. Voi da, de asemenea, câteva exemple despre cum să le definim într-un bloc de parametri.
Param. PowerShell Şir Parametru
Când creați parametri PowerShell, este probabil să creați un şir parametru. A şir parametrul acceptă orice valoare de șir.
În Windows PowerShell, un șir poate fi numere, cuvinte sau caractere. Mai exact, orice declarați între ghilimele duble sau simple este un șir.
În PowerShell, tipul de obiect al unui șir este System.String .
Pentru a declara un parametru PowerShell ca parametru șir, înainte de numele parametrului, includeți cuvântul şir în paranteze. Iată un exemplu…
|_+_|Param. PowerShell int Parametru
Un int tipul de date este un număr întreg cu semn de 32 de biți. În engleză, an int este un număr, de exemplu 1, 2 sau 3.
Spre deosebire de a şir tip de date parametru care poate prelua orice tip de date, an int parametrul este foarte prescriptiv.
Dacă definiți un int parametru, parametrul poate accepta doar numere. În plus, dacă introduceți cuvinte ca valoare pentru int parametru, PowerShell va arunca un mesaj de eroare.
Înainte să vă arăt cum să definiți un parametru PowerShell int parametru, iată un exemplu general de definire a unui tip de date int...
|_+_|Dacă rulez codul în PowerShell, acesta va reveni 123 .
Dimpotrivă, dacă înlocuiesc, 123 cu acesta este un int, PowerShell va arunca un mesaj de eroare.
|_+_|
Acum că ai avut o int curs accidental de tip de date, pentru a crea un parametru PowerShell int parametru numit număr, aici este codul...
|_+_|Acest lucru va forța utilizatorii scriptului sau funcției dvs. să furnizeze tipul de date potrivit.
Param. PowerShell DateTime Parametru
Ca un int parametru, a DateTime parametrul este, de asemenea, foarte prescriptiv pentru tipul de intrare pe care îl acceptă. După cum sugerează și numele, DateTime parametrul va accepta doar intrări în formatul de dată și oră.
Dacă doriți să definiți un parametru PowerShell care va accepta numai date, utilizați exemplul de cod de mai jos...
|_+_|În acest exemplu, Introduceți data este numele parametrului. În plus, DateTime definește tipul de date.
setări conexiune usb marshmallow
Param. PowerShell Intrerupator Parametru
În primele trei sub-secțiuni ale acestei secțiuni, am discutat despre tipurile de parametri PowerShell care necesită intrare de la un utilizator.
Cu toate acestea, există un tip de parametru PowerShell care nu necesită intrare de la un utilizator. Spre deosebire de celelalte tipuri de parametri, a intrerupator parametrul nu necesită introducerea utilizatorului.
Felul în care definiți a intrerupator parametrul este similar cu modul în care definiți alte tipuri de parametri. Cu toate acestea, în loc de intrerupator , int , sau datetime , folosește cuvântul intrerupator .
De exemplu, pentru a defini un parametru PowerShell Intrerupator parametru, ExportCSV , folosește codul de mai jos...
|_+_|În cele din urmă, pentru această secțiune, este posibil să vă întrebați despre aplicarea lui intrerupator parametrii. Gândiți-vă la un script sau o funcție PowerShell care poate afișa rezultate pe consola Powershell.
De asemenea, poate doriți să oferiți utilizatorului opțiunea fie de a exporta rezultatul într-un fișier text, fie într-un fișier CSV.
O modalitate de a codifica funcția este de a crea 3 parametri de comutare. Un utilizator poate selecta apoi unul dintre parametri, în funcție de modul în care dorește ca funcția să ofere rezultatul.
Acest tip de parametru nu necesită utilizatorului să introducă o intrare. Prin simpla selectare a parametrului, funcția va afișa rezultatul corespunzător.
De asemenea, puteți defini alți parametri PowerShell cu anumite tipuri de date. Pentru a afla despre tipurile de date PowerShell, accesați acest link - Cum să definiți tipurile de date PowerShell .Atribute și argumente ale parametrilor PowerShell Param
În sintaxa PowerShell Param a acestui ghid, am sugerat că un parametru PowerShell are atribute. Mai mult, am mai subliniat că fiecare atribut de parametru are și argumente.
În această secțiune, voi discuta atributele parametrilor și argumentele acestora.
Pentru a explica atributele parametrilor și argumentele acestora, mă voi referi la sintaxa parametrului PowerShell introdusă în prima secțiune a acestui ghid.
|_+_|Param. PowerShell CmdletBinding Atribut
The CmdletBinding atributul este de obicei specificat înaintea blocului param. Când definiți CmdletBinding atribut, PowerShell va recunoaște scriptul ca o funcție avansată.
În secțiunea de sintaxă a acestui ghid, am folosit acest cod ca o versiune simplificată a unui bloc de parametri.
|_+_|În această secțiune, mă voi concentra pe CmdletBinding Atribut porțiune din cod. Iată cum se definește Atribut …
|_+_|În următoarele 3 sub-secțiuni, voi discuta câteva dintre argumentele comune, pe care le puteți defini în CmdletBinding atribut.
Pentru a evita orice îndoială, trebuie să le definiți pe toate Argumente în cadrul blocului () al Atribut . De asemenea, TREBUIE să separați toate atributele printr-o virgulă (,), cu excepția ultimului Argumente în cadrul Atribut .
Param. PowerShell DefaultParameterSetName Argument
Când dezvoltați o funcție PowerShell, aceasta poate conține mai mulți parametri pe care un utilizator îi poate folosi în aceeași comandă. În plus, aceeași funcție PowerShell poate conține un alt set de parametri pe care un utilizator îi poate folosi într-o altă comandă.
Cu toate acestea, utilizatorul nu poate amesteca parametrii din primul set cu parametrii din al doilea set.
În plus, un dezvoltator de funcții definește toți parametrii pe care un utilizator îi poate folosi în aceeași comandă cu ParameterSetName argument. The ParameterSetName argumentul este definit în Atributul Parametrului (mai multe despre acest lucru în secțiunea următoare).
Implicația de a avea seturi diferite de parametri grupați este că veți avea diferiți ParameterSetName s.
Cu diferite ParameterSetName Dacă sunteți sfidați în blocul dvs. de parametri, puteți decide să definiți unul dintre ParameterSetName s ca implicit. Aici folosești DefaultParameterSetName Argument.
The DefaultParameterSetName Argumentul este definit în cadrul CmdletBinding bloc de atribute. Iată un exemplu…
|_+_|În cele din urmă, pentru a păstra formatul nostru de bloc de parametri PowerShell, voi reintroduce blocul de parametri de mai jos...
|_+_|Param. PowerShell SuportaShouldProcess Argument
Acesta este un alt argument pe care îl puteți defini în CmdletBinding Atribut . Ca DefaultParameterSetName Argument, cel SuportaShouldProcess Argumentul este optional.
The SuportaShouldProcess Argument adaugă A confirma și Ce-ar fi dacă parametri comuni ai funcției.
Pentru a adăuga acest argument, adăugați o virgulă (,) la sfârșitul textului DefaultParameterSetName argument. Apoi, adăugați linia - SuportaShouldProcess =$adevărat sau $fals.
Cu acest nou argument inclus, the CmdletBinding Atribut acum va arata asa...
|_+_|Param. PowerShell HelpURI Argument
Dacă sunteți familiarizat cu PowerShell Obține ajutor Cmdlet, poate ați dat peste el Pe net parametru. Când alergi Obține ajutor cu Pe net parametru, PowerShell deschide pagina de ajutor online a cmdlet-ului.
De exemplu, pentru a deschide pagina de ajutor online a cmdlet-ului Out-File, executați comanda de mai jos...
|_+_|Pagina deschisă de această comandă este definită într-o funcție de către HelpURI Argument. Deci, dacă doriți ca utilizatorii să acceseze pagina de ajutor online a funcției dvs., definiți HelpURI Argument.
Iată un exemplu…
|_+_|Voi include acum acest ultim argument în documentul CmdletBinding Atribut . Iată codul actualizat...
|_+_|Param. PowerShell Parametru Atribut
În PowerShell Param CmdletBinding Subsecțiunea atribute, am discutat 3 argumente pe care le puteți include în CmdletBinding Bloc de atribute.
După cum ați văzut, CmdletBinding Blocul de atribute este singurul atribut definit în afara blocului de parametri.
În această subsecțiune, veți afla despre Atributul Parametrului. În plus, veți afla și despre argumentele comune pe care le puteți adăuga la acest atribut.
cum să ștergeți Windows 32
După cum probabil ați dedus din exemplele deja utilizate în acest ghid, atributul parametrului definește argumente care controlează comportamentul unui parametru de parametru PowerShell.
Puteți defini Atributul Parametrului prin includerea cuvântului Parametru, urmat de paranteze () într-un bloc []. Iată un exemplu…
|_+_|Mergând mai departe, TREBUIE să definiți toate argumentele Atributului Parametrului în blocul ().
În următoarele sub-secțiuni ale secțiunii PowerShell Param Parameter Atribute, voi prezenta și explica argumentele comune pe care le puteți defini în cadrul Parameter Attribute.
Param. PowerShell ParameterSetName Argument
Când am explicat DefaultParameterSetName mai devreme în acest ghid, am prezentat ParameterSetName Argument. Puteți utiliza acest argument pentru a grupa parametrii pe care un utilizator îi poate rula în aceeași comandă.
De exemplu, pentru a defini a ParameterSetName numit ParameterSetName1 , introduceți codul de mai jos în blocul Atribut parametru ().
|_+_|Când introduc acest cod actualizat, blocul param al codului meu eșantion va arăta acum așa..
|_+_|Dacă aduc înapoi CmdletBinding atribut, exemplul meu de cod de parametri PowerShell va arăta acum astfel...
|_+_|Param. PowerShell Obligatoriu Argument
Puteți folosi Obligatoriu argument pentru a defini dacă un parametru este obligatoriu sau opțional. The Obligatoriu argumentul acceptă o valoare $true sau $false – $true înseamnă necesită, $false, nu este obligatoriu.
În plus, cel Obligatoriu argumentul este opțional. Totuși, dacă acest argument nu este definit, parametrul va fi tratat ca opțional.
Pentru a defini Obligatoriu Argument, adăugați codul de mai jos la blocul Atribut parametru...
|_+_|În cele din urmă, dacă includ Obligatoriu Argument codul la codul meu de parametri PowerShell, acum voi avea...
|_+_|Param. PowerShell Poziţie Argument
The Poziţie Argumentul Atributului Parametrului definește poziția parametrului. Valoarea este un număr întreg, începând de la 0 (zero).
Beneficiul Poziţie Argumentul este de a permite utilizatorilor să ruleze funcția folosind poziția parametrilor. Mai exact, atunci când definiți Poziţie Argument, un utilizator poate introduce valori pentru fiecare parametru din linia de comandă fără a specifica parametrul.
PowerShell va atribui apoi fiecare valoare din linia de comandă în funcție de poziția parametrului.
De exemplu, cel Get-ChildItem Cmdlet are un parametru numit cale (cu pozitia 0). Cmdlet-ul are și un alt parametru, Filtru (cu pozitia 1).
În mod implicit, dacă rulez Get-ChildItem comandă, trebuie să includ numele parametrilor înainte de a adăuga valorile acestora. Vezi comanda de mai jos...
|_+_|În această comandă, am apelat parametrii și apoi am specificat valorile acestora.
Cu toate acestea, din moment ce cunosc pozițiile acestor 2 parametri, pot adăuga valori în pozițiile lor, fără a apela în mod expres parametrii. Apoi îmi voi modifica comanda așa cum se arată mai jos...
|_+_|Evident, asta mă economisește timp! Cu toate acestea, dacă vă uitați la un cod PowerShell lung, acest lucru poate cauza o oarecare confuzie.
Comanda dă același rezultat în PowerShell...
PowerShell va atribui automat valorile din poziții parametrilor pe baza acestora Poziţie Argument.
Mergând mai departe, iată cum definiți Poziţie Argument…
|_+_| În acest exemplu, poziția parametrului meu este 0 (zero). Când îmi definesc următorul parametru, acesta va fi în poziția 1 și așa mai departe. Nu puteți avea doi parametri în aceeași poziție. Mai târziu în ghid, veți învăța cum să adăugați un parametru în aceeași poziție, dar diferite ParameterSetNames.Acum voi adăuga acest argument la codul meu exemplu...
|_+_|Param. PowerShell ValueFromPipeline Argument
O altă creștere a parametrului utilizat în mod obișnuit este ValueFromPipeline Argument. După cum sugerează și numele, acest argument determină dacă un parametru acceptă valori din conductă.
Ea este modul în care definiți acest argument...
|_+_|Dacă adaug acest nou argument la codul meu, va arăta așa...
|_+_|Există un alt argument numit ValueFromPipelineByPropertyName . Pentru a citi despre acest argument, vizitați about_Functions_Advanced_Parameters .
Param. PowerShell HelpMessage Argument
Puteți folosi acest argument pentru a specifica mesajul pentru a le arăta utilizatorilor cum să folosească un parametru. Pentru a defini a HelpMessage Argument pentru un parametru, utilizați un cod similar cu cel de mai jos...
|_+_|Și iată acum codul meu actualizat...
|_+_|Până acum, în această secțiune, am discutat despre 2 atribute de parametri PowerShell - CmdletBinding și Parametru . În plus, am discutat și despre argumentele comune pe care le puteți defini pentru aceste atribute.
În celelalte 3 sub-secțiuni ale acestei secțiuni, vă voi învăța 3 atribute de parametri PowerShell mai frecvent utilizate. Cu toate acestea, aceste 3 atribute nu necesită definirea argumentelor.
Param. PowerShell Alias Atribut
Atributul alias este folosit pentru a specifica aliasurile unui parametru. După cum probabil ați ghicit, alias-ul unui parametru PowerShell poate fi folosit în locul parametrului.
Înainte de a vă arăta cum să definiți atributul alias pentru un parametru, permiteți-mi să vă arăt mai întâi cum să găsiți aliasurile tuturor cmdlet-urilor și funcțiilor de pe computer.
Pentru a lista toate aliasurile pentru cmdlet-uri și funcții, executați comanda de mai jos
|_+_|Aceasta va lista toate aliasurile...
Trecând la Alias Atribut, pentru a defini unul pentru un parametru de parametru PowerShell, utilizați un cod similar cu cel de mai jos...
|_+_| În acest exemplu, FP este aliasul pentru parametru.Dacă adaug asta la codul meu, versiunea actualizată va arăta astfel...
|_+_|Param. PowerShell Suporta wildcards Atribut
Acest atribut de parametru determină dacă un parametru acceptă metacaractere. Iată cum definiți acest atribut...
|_+_|Param. PowerShell ValidateNotNullOrEmpty Atribut de validare
La fel ca majoritatea atributelor deja tratate în acest ghid, numele acestui atribut îl indică și el. Este un atribut de validare.
Când definiți acest atribut, parametrul NU va accepta o valoare nulă ($null). În plus, nu va accepta o valoare () goală.
Dacă un utilizator introduce $null sau , funcția va genera o eroare. Pentru a defini acest atribut, introduceți codul de mai jos...
|_+_|În cele din urmă, îmi voi actualiza codul cu ultimele 2 atribute...
|_+_|Nume parametrul parametrului PowerShell
După ce ați definit toate atributele și argumentele unui parametru, trebuie să adăugați numele parametrului. Un parametru de parametru PowerShell este definit ca o variabilă – cu un semn dolar ($), urmat de numele parametrului.
De asemenea, puteți introduce opțional un tip de date pentru parametru. În secțiunea 2 a acestui ghid, am discutat despre diferite tipuri de parametri PowerShell.
Iată cum definiți un parametru care poate accepta şir tip de date.
|_+_|Iată exemplul meu de cod actualizat...
cum se instalează ares wizard|_+_|
Cum să definiți un parametru PowerShell în mai multe seturi de parametri
Dacă sunteți nou în codarea funcțiilor PowerShell, sunt șanse să cazați în tentația de a defini de mai multe ori un parametru.
Un motiv pentru care poate doriți să aveți un parametru de mai multe ori este atunci când un parametru este utilizat în mai multe ParameterSetNames (seturi multiple de parametri).
Pentru a conduce această casă, să presupunem că dezvoltați o funcție PowerShell care are un cale parametru. Cu toate acestea, aveți 2 ParameterSetNames care necesită parametrul Path.
Majoritatea oamenilor nou la scripting PowerShell vor defini probabil parametrii afișați mai jos...
|_+_|Dacă definiți parametrii, așa cum se arată mai sus, veți primi un mesaj de eroare. Pentru a testa această teorie, voi copia codul în PowerShell ISE.
Deci, cum remediați asta? Soluția este să definiți cele 2 atribute ale parametrilor și argumentele lor – inclusiv ParameterSetNames.
Apoi, la sfârșitul ambelor atribute ale parametrilor, definiți un singur nume de parametru care este comun ambelor atribute ale parametrilor. În exemplul anterior, voi elimina primul nume de parametru și îl voi lăsa pe ultimul.
|_+_|Acum, dacă copiez acest cod în PowerShell ISE, va fi în regulă.
În acest exemplu, rețineți că argumentele parametrilor pentru ambele atribute ale parametrilor pot fi complet diferite. În plus, puteți defini câte atribute de parametri doriți.Exemple de parametri PowerShell
În această ultimă secțiune a ghidului, voi da un exemplu real de parametru SysAdmin PowerShell.
În timp ce scriam acest ghid, am început să dezvolt un script/funcție PowerShell pentru a obține dimensiunea folderului și numărul de fișiere. Aici este partea param a funcției...
|_+_|În următoarele câteva subsecțiuni ale acestei secțiuni, voi explica diferitele elemente ale param. În cele din urmă, ultima secțiune introduce un bloc funcțional și adaugă blocul de parametri în funcție.
Pentru a vă facilita urmărirea liniilor codului la care se face referire în sub-secțiunile următoare, descărcați PowerShellParamExample.zip . Apoi, dezarhivați fișierul și deschideți fișierul .ps1 în PowerShell ISE .
ParameterSetName PowerShell Param Exemplu
Codul meu exemplu de parametri PowerShell are trei ParameterSetNames – DisplayResult , ExportTxt și ExportCSV . Am folosit aceste nume pentru a fi ușor de identificat ceea ce fac.
În introducerea acestei secțiuni, am menționat că funcția pe care o construiesc cu acest cod de parametri va afișa dimensiunea folderului și numărul de fișiere pentru fiecare subdosar dintr-un folder specificat.
Prin urmare, cele trei ParameterSetNames oferă unui utilizator opțiunea de a afișa rezultate pe consola PowerShell. Alternativ, un utilizator are opțiunea de a exporta rezultatul într-un fișier text sau într-un fișier CSV.
Mai mult, fiecare ParameterSetName defini toți parametrii pe care un utilizator îi poate apela într-o singură comandă. Pe baza acestei idei, funcția pe care o construiesc va avea trei opțiuni de comandă sau sintaxe.
Voi extinde această idee în subsecțiunile și exemplele ulterioare.
CmdletBinding Atributul Și DefaultParameterSetName Exemple de argumente
În secțiunile anterioare ale acestui ghid, ați dat peste CmdletBinding Atribut. Mai mult, ați întâlnit și unul dintre argumentele sale – DefaultParameterSetName .
The DefaultParameterSetName argument este folosit pentru a defini setul de parametri implicit pe care îl apelează o funcție. În acest exemplu, numele implicit al setului de parametri este DisplayResult .
The DefaultParameterSetName este declarată în rândul 1 al codului.
PowerShell va încerca să utilizeze setul de parametri declarat de DefaultParameterSetName dacă nu poate determina ce set de parametri să folosească. Cu toate acestea, dacă setați parametri obligatorii, puteți evita această problemă.
În orice caz, nu există nici un rău cu declararea unui nume de set de parametri implicit.
FolderPath Exemplu de parametru șir
Aici începe distracția! The FolderPath parametrul este utilizat pentru a introduce calea folderului, funcția va obține dimensiunea sub-folderelor sale – și va număra numărul de fișiere din fiecare sub-folder.
Acesta este un parametru șir. Înseamnă că acceptă orice șir ca intrare.
O caracteristică interesantă a FolderPath parametrul este că este comun celor 3 nume de set de parametri. Mai devreme în acest articol, am explicat provocarea cu care se pot confrunta noii dezvoltatori de script PowerShell în această situație.
Pentru a declara FolderPath parametru în cele trei nume de set de parametri, am creat trei atribute de parametri.
Primul atribut de parametru este între liniile 5 și 11. În plus, acest prim atribut de parametru are mai multe argumente.
Cu toate acestea, voi dori să acordați o atenție deosebită ParameterSetName argument - DisplayResult .
În al doilea rând, între rândurile 12 și 18, am declarat un alt atribut de parametru cu a ParameterSetName argument numit ExportTxt .
În cele din urmă, între rândurile 19 și 25, am declarat un al treilea atribut de parametru cu a ParameterSetName argument numit ExportCSV .
Mai mult, dacă observați, spre deosebire de declararea a 3 atribute de parametri, am declarat unul singur Alias , și ValidateNotNullOrEmpty atribute. Aceste atribute pot fi găsite în rândurile 26 și 27.
În cele din urmă, chiar sub toate atributele și argumentele lor, am inclus numele parametrului - FolderPath . Numele parametrului este în linia 28.
În ultima subsecțiune a acestei secțiuni, veți vedea cum funcția afișează acest parametru în 3 sintaxe de comandă.DisplayResult , ExportTxt Și ExportCSV Exemplu de parametru de comutare
Din linia 29 din codul parametrului, am declarat un alt set de atribute ale parametrilor și argumentele acestora.
În primul rând, între rândurile 29 și 37, declar atributele și argumentele parametrilor pentru DisplayResult parametru.
Apoi, între rândurile 38 și 47, declar un alt parametru numit ExportTxt .
În cele din urmă, între rândurile 48 și 57, am declarat ExportCSV parametru.
Cei 3 parametri pe care i-am descris în această secțiune sunt toți Intrerupator parametrii. După cum știți deja, aceasta înseamnă că parametrii nu necesită nicio intrare din partea utilizatorului.
Când un utilizator selectează oricare dintre parametru, funcția modifică modul în care afișează rezultatele.
Cum să utilizați PowerShell Param într-o funcție PowerShell
În această subsecțiune, vreau să introduc blocul funcțional PowerShell în codul meu exemplu.
Sintaxa unui bloc funcțional PowerShell este...
|_+_|Pentru exemplul final din acest ghid, voi înlocui blocul de parametri PowerShell din sintaxa funcției cu codul meu de parametri din ultima sub-secțiune. În plus, voi înlocui funcția cu Get-FolderSizeFileCount , numele funcției.
Funcția finală va arăta acum așa...
|_+_| Pentru acest exemplu, blocurile Begin {}, Process {} și End {} sunt goale.Testarea parametrilor mei PowerShell în funcția PowerShell
În această secțiune finală, voi testa parametrii din funcția pe care am creat-o în ultima secțiune.
Dacă doriți să îl testați singur, puteți descărca codul făcând clic pe acest link – Get-FolderSizeFileCount.zip . Apoi, dezarhivați fișierul zip.
După ce dezarhivați fișierul, deschideți PowerShell și executați comanda de mai jos:
|_+_| Schimbați calea completă către fișierul dezarhivat.Când executați comanda, veți primi un mesaj de avertizare. La promptul de mesaj, introduceți R și apăsați tasta Enter de pe tastatură.
Odată importat modulul, pe aceeași consolă PowerShell, executați comanda de mai jos:
|_+_|Iată rezultatul comenzii...
abur spunând că nu există conexiune
Ceea ce vreau să vă arăt este secțiunea SINTAXĂ a paginii de ajutor a Funcției mele. Din captura de ecran de mai sus, puteți rula comanda Get-FolderSizeFileCount în 3 comenzi diferite:
|_+_|Primul lucru de remarcat este că cele trei sintaxe au FolderPath parametru șir. Dacă citiți acest ghid, veți ști de ce.
În plus, veți observa că prima sintaxă are DisplayResult comutați și parametrul. În cele din urmă, în a doua și a treia sintaxă, aveți ExportCSV , și ExportTxt respectiv parametrul comutatorului.
În plus față de FolderPath , și ExportCSV parametrii și ExportTxt parametrii din a doua și, respectiv, a treia sintaxă, au și ReportPath parametru șir. Nu am menționat acest parametru deoarece codul de declarare este similar cu cel FolderPath cod, cu unele diferențe minore. The ReportPath este folosit pentru a specifica calea în care funcția va salva rapoartele text și fișierului CSV.Asta este - un ghid cuprinzător despre parametrul PowerShell! Sper că ați găsit de ajutor?
Dacă vi s-a părut util, vă rugăm să votați da la întrebarea A fost utilă această postare de mai jos.
Alternativ, puteți pune o întrebare, lăsa un comentariu sau oferi mai multe feedback cu ajutorul formularului Lăsați un răspuns aflat la sfârșitul acestei pagini.
În cele din urmă, pentru mai multe zone PowerShell tech S, vizitați pagina noastră de ghid pentru Windows PowerShell. De asemenea, s-ar putea să găsească foarte utilă pagina noastră de lucru de acasă.


