PowerShell Param: Syntax, typer, attribut, argument och exempel

15 juni 2021 16760 Visningar PowerShell Param: Syntax, typer, attribut, argument och exempel

PowerShell-skriptutvecklare använder Powershell Param-block för att lägga till parametrar till avancerade funktioner. Alla som kör funktionen kan komma åt parametrar som lagts till med PowerShell Param.





Förutom parametrarna som läggs till i en funktion med Param-blocket, lägger Windows PowerShell automatiskt till gemensamma parametrar .



Den här guiden täcker syntaxen för Powershell Param, typer av Powershell-parametrar, deras attribut och argument. Den ger också några exempel på hur man använder Param-blocket för att lägga till parametrar till ett skript eller en funktion.

Bläddra bland inläggsämnen



Syntax för ett PowerShell Param Block

Syntax för ett PowerShell Param Block

Syntaxen för PowerShell Param är...



|_+_|

För att lägga till en parameter till en funktion börjar du med ordet sluta , följt av parameterblocket, (). Här är en enkel form av ett paramblock...

|_+_| De CmdletBinding attribut är valfritt och det är det enda attributet som definieras utanför param-blocket. Mer om detta längre fram i guiden

Inom Param-blocket – param () – kommer du att definiera parameterattributen och deras argument. Dessutom är ett parameterattribut inneslutet i ett [()]-block.



I syntaxkoden ovan tömde jag alla parameterargument. Det finns många fler parameterargument – ​​de i syntaxen är endast för illustrationsändamål och är inte på något sätt uttömmande.

Inom parameterblocket kommer du att definiera parameterargument, separerade med kommatecken. Ett exempel på ett PowerShell Param-attribut är parameter attribut.



Ett exempel på ett param-argument är dessutom obligatorisk argument. Ett annat exempel på ett param-argument är ParameterSetName .

Slutligen kommer du att definiera namnet på parametern. Dessutom kommer du också att ange parameterdatatypen.

I nästa avsnitt kommer jag att diskutera vanliga typer av PowerShell-parametrar. Sedan täcker avsnitt tre vanliga parameterattribut och deras argument.

Slutligen, i det sista avsnittet av den här guiden, kommer jag att ge ett verkligt SysAdmin-exempel på en PowerShell-param. Avsnittet kommer också att ge exempel på hur man använder paramblocket i en avancerad funktion.

Typer av PowerShell-parametrar

Typer av PowerShell-parameterparameter

De vanligaste typerna av parametrar du kan ställa in är sträng eller växla parametrar. Dessutom kan du också definiera int , bool , Datum Tid eller char-parametertyper.

I det här avsnittet kommer jag att förklara några av dessa typer av parametrar. Jag kommer också att ge några exempel på hur man definierar dem i ett paramblock.

PowerShell Param Sträng Parameter

När du skapar PowerShell-parametrar är det troligt att du kommer att skapa en sträng parameter. A sträng parameter accepterar alla strängvärden.

I Windows PowerShell kan en sträng vara siffror, ord eller tecken. Närmare bestämt är allt du deklarerar i ett dubbelt eller enkelt citattecken en sträng.

I PowerShell är objekttypen för en sträng System.String .

För att deklarera en PowerShell-parameter som en strängparameter, innan namnet på parametern, omslut ordet sträng inom parentes. Här är ett exempel…

|_+_|

PowerShell Param int Parameter

En int datatypen är ett 32-bitars signerat heltal. På engelska, an int är ett tal, till exempel 1, 2 eller 3.

Till skillnad från en sträng parameterdatatyp som kan ta vilken typ av data som helst, en int parametern är mycket föreskrivande.

Om du definierar en int parameter, kan parametern bara acceptera siffror. Dessutom, om du anger ord som värde för int parametern kommer PowerShell att skicka ett felmeddelande.

Innan jag visar dig hur du definierar en PowerShell Param int parameter, här är ett allmänt exempel på hur man definierar en int-datatyp...

|_+_|

Om jag kör koden i PowerShell kommer den tillbaka 123 .

PowerShell Param int Parameter

Tvärtom, om jag ersätter, 123 med detta är en int, kommer PowerShell att skicka ett felmeddelande.

|_+_|

Nu när du har haft en int datatyp snabbkurs, för att skapa en PowerShell Param int parameter kallas nummer, här är koden...

|_+_|

Detta kommer att tvinga användarna av ditt skript eller din funktion att tillhandahålla rätt datatyp.

PowerShell Param Datum Tid Parameter

Som en int parameter, a Datum Tid parametern är också mycket föreskrivande för vilken typ av indata den accepterar. Som namnet antyder, den Datum Tid parametern accepterar endast inmatning av datum- och tidsformat.

Om du vill definiera en PowerShell-parameter som endast accepterar datum, använd exempelkoden nedan...

|_+_|

I det här exemplet, Ange datum är namnet på parametern. Dessutom, Datum Tid definierar datatypen.

PowerShell Param Växla Parameter

I de första tre underavsnitten av detta avsnitt har jag diskuterat PowerShell-parametertyper som kräver input från en användare.

Det finns dock en PowerShell-parametertyp som inte kräver input från en användare. Till skillnad från andra typer av parametrar, a växla parameter kräver inte användarinmatning.

Hur du definierar a växla parameter liknar hur du definierar andra typer av parametrar. Men i stället för växla , int , eller datum Tid , använd ordet växla .

Till exempel för att definiera en PowerShell-param Växla parameter, Exportera CSV , använd koden nedan...

|_+_|

Slutligen, för det här avsnittet, kanske du undrar över tillämpningen av växla parametrar. Tänk på ett PowerShell-skript eller en funktion som kan visa resultat på Powershell-konsolen.

Du kanske också vill ge användaren möjlighet att antingen exportera resultatet till en textfil eller en CSV-fil.

Ett sätt att koda funktionen är att skapa 3 switchparametrar. En användare kan sedan välja en av parametrarna, beroende på hur de vill att funktionen ska leverera resultatet.

Denna typ av parameter kräver inte att användaren matar in en ingång. Genom att helt enkelt välja parametern kommer funktionen att visa utgången därefter.

Du kan också definiera andra PowerShell-parametrar med specifika datatyper. För att lära dig mer om PowerShell-datatyper, besök den här länken – Hur man definierar PowerShell-datatyper .

PowerShell-parameterattribut och -argument

PowerShell-parameterattribut och -argument

I PowerShell Param Syntax i den här guiden antydde jag att en PowerShell-parameter har attribut. Dessutom påpekade jag också att varje parameterattribut också har argument.

I det här avsnittet kommer jag att diskutera parameterattribut och deras argument.

För att förklara parameterattribut och deras argument, kommer jag att hänvisa till syntaxen för PowerShell param som introducerades i det första avsnittet av den här guiden.

|_+_|

PowerShell Param CmdletBinding Attribut

De CmdletBinding attribut anges vanligtvis före param-blocket. När du definierar CmdletBinding attribut, kommer PowerShell att känna igen skriptet som en avancerad funktion.

I syntaxavsnittet i den här guiden använde jag den här koden som en förenklad version av ett paramblock.

|_+_|

I det här avsnittet kommer jag att fokusera på CmdletBinding Attribut del av koden. Så här definierar du Attribut

|_+_|

I de kommande 3 underavsnitten kommer jag att diskutera några av de vanliga argumenten som du kan definiera i CmdletBinding attribut.

För att undvika tvivel måste du definiera allt Argument inom () blocket av Attribut . Dessutom MÅSTE du separera alla attribut med ett kommatecken (,), förutom det sista Argument inom Attribut .

PowerShell Param DefaultParameterSetName Argument

När du utvecklar en PowerShell-funktion kan den innehålla flera parametrar som en användare kan använda i samma kommando. Dessutom kan samma PowerShell-funktion innehålla ytterligare en uppsättning parametrar som en användare kan använda i ett annat kommando.

Användaren kan dock inte blanda parametrarna i den första uppsättningen med parametrarna i den andra uppsättningen.

Dessutom definierar en funktionsutvecklare alla parametrar som en användare kan använda i samma kommando med ParameterSetName argument. De ParameterSetName argument definieras inom parameterattributet (mer om detta i nästa avsnitt).

Innebörden av att ha olika uppsättningar av grupperade parametrar är att du kommer att ha olika ParameterSetName s.

Med olika ParameterSetName s trotsat i ditt param-block kan du bestämma dig för att definiera en av ParameterSetName s som standard. Det är här du använder DefaultParameterSetName Argument.

De DefaultParameterSetName Argument definieras inom CmdletBinding attributblock. Här är ett exempel…

|_+_|

Slutligen, för att behålla vårt PowerShell param blockformat, kommer jag att återinföra param blocket nedan...

|_+_|

PowerShell Param StöderShouldProcess Argument

Detta är ytterligare ett argument som du kan definiera i CmdletBinding Attribut . Som DefaultParameterSetName Argument, den StöderShouldProcess Argument är valfritt.

De StöderShouldProcess Argument lägger till Bekräfta och Tänk om gemensamma parametrar för funktionen.

För att lägga till detta argument, lägg till ett kommatecken (,) i slutet av DefaultParameterSetName argument. Lägg sedan till raden - StöderShouldProcess =$true eller $false.

appar som liknar lucky patcher

Med detta nya argument inkluderat, CmdletBinding Attribut kommer se ut så här nu...

|_+_|

PowerShell Param HjälpURI Argument

Om du är bekant med PowerShell Få hjälp Cmdlet, du kanske har stött på den Uppkopplad parameter. När du springer Få hjälp med Uppkopplad parameter, öppnar PowerShell onlinehjälpsidan för Cmdlet.

Till exempel, för att öppna onlinehjälpsidan för Out-File Cmdlet, kör kommandot nedan...

|_+_|

Sidan som öppnas av detta kommando definieras i en funktion av HjälpURI Argument. Så om du vill att användare ska få tillgång till onlinehjälpsidan för din funktion, definiera HjälpURI Argument.

Här är ett exempel…

|_+_|

Jag kommer nu att inkludera detta sista argument i CmdletBinding Attribut . Här är den uppdaterade koden...

|_+_|

PowerShell Param Parameter Attribut

I PowerShell Param CmdletBinding Attribut undersektion, jag diskuterade 3 argument som du kan inkludera i CmdletBinding Attributblock.

Som du har sett är CmdletBinding Attributblock är det enda attributet som definieras utanför paramblocket.

I det här underavsnittet kommer du att lära dig om parameterattributet. Dessutom kommer du också att lära dig om de vanliga argumenten du kan lägga till i detta attribut.

Som du kanske har slutsats av exemplen som redan används i den här guiden, definierar parameterattributet argument som styr beteendet hos en PowerShell-parameter.

Du kan definiera parameterattributet genom att omge ordet Parameter, följt av () parenteser i ett []-block. Här är ett exempel…

|_+_|

När du går vidare, MÅSTE du definiera alla argument för parameterattributet inom ()-blocket.

I följande underavsnitt av PowerShell Parameter Attribut-sektionen kommer jag att introducera och förklara de vanliga argumenten du kan definiera inom Parameter Attribut.

PowerShell Param ParameterSetName Argument

När jag förklarade DefaultParameterSetName tidigare i den här guiden introducerade jag ParameterSetName Argument. Du kan använda detta argument för att batcha eller gruppera parametrar som en användare kan köra i samma kommando.

Till exempel, för att definiera en ParameterSetName kallad ParameterSetName1 , ange koden nedan i Parameter Attribute ()-blocket.

|_+_|

När jag introducerar den här uppdaterade koden kommer paramblocket i min exempelkod nu att se ut så här.

|_+_|

Om jag tar tillbaka CmdletBinding attribut, min exempel PowerShell param kod kommer nu att se ut så här...

|_+_|

PowerShell Param Obligatorisk Argument

Du kan använda Obligatorisk argument för att definiera om en parameter är obligatorisk eller valfri. De Obligatorisk argument accepterar ett $true eller $false värde – $true betyder kräver, $false, inte obligatoriskt.

Dessutom Obligatorisk argument är valfritt. Men om detta argument inte är definierat kommer parametern att behandlas som valfri.

För att definiera Obligatorisk Argument, lägg till koden nedan i parameterattributblocket...

|_+_|

Slutligen, om jag inkluderar Obligatorisk Argumentkod till min PowerShell-paramkod, jag kommer nu att ha...

|_+_|

PowerShell Param Placera Argument

De Placera Argument för parameterattribut definierar positionen för parametern. Värdet är ett heltal, med start från 0 (noll).

Fördelen med Placera Argumentet är att tillåta användare att köra funktionen med hjälp av parametrarnas position. Närmare bestämt när du definierar Placera Argument, en användare kan ange värden för varje parameter på kommandoraden utan att ange parametern.

PowerShell kommer sedan att tilldela varje värde på kommandoraden enligt parameterpositionen.

Till exempel Get-ChildItem Cmdlet har en parameter som kallas Väg (med position 0). Cmdlet har också en annan parameter, Filtrera (med position 1).

Som standard, om jag kör Get-ChildItem kommandot måste jag inkludera parameternamnen innan jag lägger till deras värden. Se kommandot nedan...

|_+_|

I det här kommandot anropade jag parametrarna och angav sedan deras värden.

PowerShell Param Positionsargument

Men eftersom jag känner till positionerna för dessa 2 parametrar kan jag lägga till värden i deras positioner utan att uttryckligen anropa parametrarna. Jag kommer sedan att ändra mitt kommando som visas nedan...

|_+_|

Det är klart att detta sparar mig tid! Men om du tittar på en lång PowerShell-kod kan detta orsaka viss förvirring.

Kommandot ger samma resultat i PowerShell...

PowerShell kommer automatiskt att tilldela värdena i positionerna till parametrarna baserat på deras Placera Argument.

Går vidare, här är hur du definierar Placera Argument…

|_+_| I det här exemplet är min parameterposition 0 (noll). När jag definierar min nästa parameter kommer den att vara i position 1, och så vidare. Du kan inte ha två parametrar i samma position. Längre fram i guiden kommer du att lära dig hur du lägger till en parameter i samma position men olika ParameterSetNames.

Jag kommer nu att lägga till detta argument till min exempelkod...

|_+_|

PowerShell Param ValueFromPipeline Argument

En annan vanlig parameterförstärkning är ValueFromPipeline Argument. Som namnet antyder avgör detta argument om en parameter accepterar värden från pipeline.

Det är så du definierar detta argument...

|_+_|

Om jag lägger till detta nya argument till min kod kommer det att se ut så här...

|_+_|

Det finns ett annat argument som heter ValueFromPipelineByPropertyName . För att läsa om detta argument, besök about_Functions_Advanced_Parameters .

PowerShell Param Hjälpmeddelande Argument

Du kan använda detta argument för att ange meddelandet för att visa användarna hur man använder en parameter. För att definiera a Hjälpmeddelande Argument för en parameter, använd en kod som liknar den nedan...

|_+_|

Och här är nu min uppdaterade kod...

|_+_|

Hittills i det här avsnittet har jag diskuterat 2 PowerShell param attribut - CmdletBinding och Parameter . Dessutom diskuterade jag också de vanliga argumenten du kan definiera för dessa attribut.

I de återstående 3 underavsnitten av det här avsnittet kommer jag att lära dig 3 mer vanliga PowerShell-paramattribut. Dessa 3 attribut kräver dock inte att du definierar argument.

PowerShell Param Alias Attribut

Alias-attributet används för att specificera alias för en parameter. Som du kanske har gissat kan aliaset för en PowerShell-parameter användas istället för parametern.

Innan jag visar dig hur du definierar aliasattributet för en parameter, låt mig först visa dig hur du hittar alias för alla Cmdlets och funktioner på din dator.

För att lista alla alias för Cmdlets och funktioner, kör kommandot nedan

|_+_|

Detta kommer att lista alla alias...

PowerShell Param Alias ​​Attribut

Går vidare till Alias Attribut, för att definiera en för en PowerShell-parameter, använd en kod som liknar den nedan...

|_+_| I det här exemplet är FP aliaset för parametern.

Om jag lägger till detta i min kod kommer den uppdaterade versionen att se ut så här...

|_+_|

PowerShell Param Stöder jokertecken Attribut

Detta parameter param-attribut avgör om en parameter accepterar jokertecken. Så här definierar du detta attribut...

|_+_|

PowerShell Param ValidateNotNullOrEmpty Valideringsattribut

Liksom de flesta attribut som redan behandlats i den här guiden, ger namnet på detta attribut också bort det. Det är ett valideringsattribut.

När du definierar detta attribut kommer parametern INTE att acceptera ett nollvärde ($null). Dessutom accepterar den inte ett tomt () värde.

Om en användare anger $null, eller , kommer funktionen att ge ett fel. För att definiera detta attribut, skriv in koden nedan...

|_+_|

Slutligen kommer jag att uppdatera min kod med de två sista attributen...

|_+_|

PowerShell-parameternamn

När du har definierat alla attribut och argument för en parameter måste du lägga till parameternamnet. En PowerShell-parameter definieras som en variabel – med ett dollartecken ($), följt av namnet på parametern.

Du kan också valfritt ange en datatyp för parametern. I avsnitt 2 i den här guiden diskuterade jag olika typer av PowerShell-parametrar.

Så här definierar du en parameter som kan accepteras sträng data typ.

|_+_|

Här är mitt uppdaterade kodexempel...

|_+_|

Hur man definierar en PowerShell-parameter i flera parameteruppsättningar

Hur man definierar en PowerShell-parameter i flera parameteruppsättningar

Om du är ny på att koda PowerShell-funktioner är chansen stor att du kommer att falla i frestelsen att definiera en parameter flera gånger.

En anledning till att du kanske vill ha en parameter flera gånger är när en parameter används i flera ParameterSetNames (flera parameteruppsättningar).

För att driva hem det här, låt oss säga att du utvecklar en PowerShell-funktion som har en Väg parameter. Du har dock 2 ParameterSetNames som kräver Path-parametern.

De flesta som är nya i PowerShell-skript kommer troligen att definiera parametrarna som visas nedan...

|_+_|

Om du definierar parametrarna, som visas ovan, får du ett felmeddelande. För att testa denna teori kommer jag att kopiera koden till PowerShell ISE .

Hur man definierar en PowerShell-parameter i flera parameteruppsättningar

Så, hur fixar du detta? Lösningen är att definiera de två parameterattributen och deras argument – ​​inklusive deras ParameterSetNames.

Sedan, i slutet av båda parameterattributen, definierar du ett enda parameternamn som är gemensamt för båda parameterattributen. I det föregående exemplet kommer jag att ta bort det första parameternamnet och lämna det sista.

|_+_|

Om jag nu kopierar den här koden till PowerShell ISE kommer det att vara okej.

Observera i det här exemplet att parameterargumenten för båda parameterattributen kan vara helt olika. Dessutom kan du definiera så många parameterattribut som du vill.

PowerShell Param Exempel

PowerShell Param Exempel

I det här sista avsnittet av guiden kommer jag att ge ett exempel på SysAdmin PowerShell-parameter i verkligheten.

Medan jag skrev den här guiden började jag utveckla ett PowerShell-skript/funktion för att få mappstorlek och filantal. Här är paramdelen av funktionen...

|_+_|

I de kommande underavsnitten av detta avsnitt kommer jag att förklara de olika delarna av paramet. Slutligen introducerar det sista avsnittet ett funktionsblock och lägger till paramblocket i funktionen.

Ladda ner PowerShellParamExample.zip för att göra det enkelt för dig att följa raderna i koden som refereras till i nästa underavsnitt. Packa sedan upp filen och öppna .ps1-filen i PowerShell ISE .

ParameterSetName PowerShell Param Exempel

Min PowerShell param exempelkod har tre ParameterSetNames – Visa Resultat , ExportTxt och Exportera CSV . Jag använde dessa namn för att göra det lätt att identifiera vad de gör.

I introduktionen av detta avsnitt nämnde jag att funktionen jag bygger med denna param-kod kommer att visa mappstorlek och filantal för varje undermapp i en angiven mapp.

Därför erbjuder de tre ParameterSetNames en användare möjligheten att visa resultat på PowerShell-konsolen. Alternativt har en användare möjlighet att exportera resultatet till en textfil eller en CSV-fil.

Dessutom var och en ParameterSetName definiera alla parametrar som en användare kan anropa i ett enda kommando. Baserat på denna idé kommer funktionen jag bygger att ha tre kommandoalternativ eller syntaxer.

Jag kommer att utvidga denna idé i de efterföljande underavsnitten och exemplen.

CmdletBinding Attribut And DefaultParameterSetName Argumentexempel

I de tidigare avsnitten av den här guiden kom du över CmdletBinding Attribut. Dessutom stötte du också på ett av dess argument – DefaultParameterSetName .

De DefaultParameterSetName argument används för att definiera standardparameteruppsättningen som en funktion anropar. I det här exemplet är standardparameteruppsättningens namn Visa Resultat .

De DefaultParameterSetName deklareras på rad 1 i koden.

PowerShell kommer att försöka använda parameteruppsättningen som deklarerats av DefaultParameterSetName om den inte kan avgöra vilken parameteruppsättning som ska användas. Men om du ställer in obligatoriska parametrar kan du undvika detta problem.

I vilket fall som helst är det ingen skada med att deklarera ett standardparameteruppsättningsnamn.

Sökväg Exempel på strängparameter

Det är här det roliga börjar! De Sökväg parametern används för att mata in mappsökvägen, funktionen kommer att få storleken på sina undermappar – och räkna antalet filer i varje undermapp.

Detta är en strängparameter. Det betyder att den accepterar vilken sträng som helst som indata.

Ett spännande inslag i Sökväg parametern är att den är gemensam för de 3 parameteruppsättningarnas namn. Tidigare i den här artikeln förklarade jag utmaningen som nya PowerShell-skriptutvecklare kan möta i den här situationen.

Att deklarera Sökväg parameter i de tre parameteruppsättningarnas namn skapade jag tre parameterattribut.

Det första parameterattributet är mellan rad 5 och 11. Dessutom har detta första parameterattribut flera argument.

Jag vill dock att du ägnar särskild uppmärksamhet åt ParameterSetName argument – Visa Resultat .

FolderPath String Parameter Exempel

För det andra, mellan raderna 12 och 18, deklarerade jag ett annat parameterattribut med en ParameterSetName argument kallas ExportTxt .

Slutligen, mellan raderna 19 och 25, deklarerade jag ett tredje parameterattribut med en ParameterSetName argument kallas Exportera CSV .

FolderPath String Parameter Exempel

Dessutom, om du märker, till skillnad från att deklarera 3 parameterattribut, deklarerade jag en singel Alias , och ValidateNotNullOrEmpty attribut. Dessa attribut finns på raderna 26 och 27.

FolderPath String Parameter Exempel

Slutligen, precis under alla attribut och deras argument, inkluderade jag namnet på parametern – Sökväg . Parameternamnet finns på rad 28.

FolderPath String Parameter ExempelI det sista underavsnittet av detta avsnitt kommer du att se hur funktionen visar denna parameter i 3 kommandosyntaxer.

Visa Resultat , ExportTxt Och Exportera CSV Exempel på switchparameter

Från rad 29 i paramkoden deklarerade jag en annan uppsättning parameterattribut och deras argument.

För det första, mellan raderna 29 och 37, deklarerar jag parameterattributen och argumenten för Visa Resultat parameter.

Sedan, mellan raderna 38 och 47, förklarar jag att en annan parameter kallas ExportTxt .

DisplayResult, ExportTxt och ExportCSV Switch Parameter Exempel

Slutligen, mellan raderna 48 och 57, förklarade jag att Exportera CSV parameter.

De 3 parametrarna som jag har beskrivit i det här avsnittet är alla Växla parametrar. Som du redan vet betyder detta att parametrarna inte kräver någon input från användaren.

När en användare väljer någon av parametrarna ändrar funktionen hur den visar resultat.

Hur man använder PowerShell Param i en PowerShell-funktion

I det här underavsnittet vill jag introducera PowerShell-funktionsblocket i min exempelkod.

Syntaxen för ett PowerShell-funktionsblock är...

|_+_|

För det sista exemplet i den här guiden kommer jag att ersätta PowerShell-paramblocket inom syntaxen för funktionen med min param-kod från det sista underavsnittet. Dessutom kommer jag att ersätta funktionen med Get-FolderSizeFileCount , namnet på funktionen.

Den sista funktionen kommer nu att se ut så här...

|_+_| I det här exemplet är blocken Start {}, Process {} och End {} tomma.

Testa mina PowerShell-parametrar i PowerShell-funktionen

I det här sista avsnittet kommer jag att testa parametrarna i funktionen som jag skapade i det sista avsnittet.

Om du gillar att testa det själv kan du ladda ner koden genom att klicka på den här länken – Get-FolderSizeFileCount.zip . Packa sedan upp zip-filen.

När du har packat upp filen, öppna PowerShell och kör kommandot nedan:

|_+_| Ändra till den fullständiga sökvägen till den uppackade filen.

När du kör kommandot får du ett varningsmeddelande. Skriv in vid meddelandeprompten R och tryck på enter-tangenten på ditt tangentbord.

Testa mina PowerShell-parametrar i PowerShell-funktionen

När modulen har importerats, på samma PowerShell-konsol, kör kommandot nedan:

|_+_|

Här är resultatet av kommandot...

hur du inaktiverar delad skärm

Det jag vill visa dig är avsnittet SYNTAX på hjälpsidan för min funktion. Från skärmdumpen ovan kan du köra kommandot Get-FolderSizeFileCount i 3 olika kommandon:

|_+_|

Det första att notera är att de tre syntaxerna har Sökväg strängparameter. Om du läser igenom den här guiden vet du varför.

Dessutom kommer du att märka att den första syntaxen har Visa Resultat byta parameter också. Slutligen, i den andra och tredje syntaxen, har du Exportera CSV , och ExportTxt växla parameter respektive.

Utöver Sökväg , och Exportera CSV parametrar och ExportTxt parametrar i den andra respektive tredje syntaxen, de har också ReportPath strängparameter. Jag nämnde inte denna parameter eftersom deklarationskoden liknar Sökväg kod, med några mindre skillnader. De ReportPath används för att ange sökvägen som funktionen ska spara text- och CSV-filrapporterna.

Det är det – en omfattande guide om PowerShell param! Jag hoppas att du tyckte det var till hjälp?

Om du tyckte att det var användbart, vänligen rösta Ja till frågan Var detta inlägg användbar nedan.

Alternativt kan du ställa en fråga, lämna en kommentar eller ge mer feedback med formuläret Lämna ett svar som finns i slutet av denna sida.

Slutligen, för fler PowerShell tech S Zones, besök vår Windows PowerShell How-To guide-sida. Du kan också hitta vår Work from Home-sida till stor hjälp.

Referenser och vidare läsning

  1. Hur man definierar PowerShell-datatyper
  2. about_Functions_Advanced_Parameters
  3. about_Functions_CmdletBindingAttribute