Param di PowerShell: sintassi, tipi, attributi, argomenti ed esempi

15 giugno 2021 16760 Visualizzazioni Param di PowerShell: sintassi, tipi, attributi, argomenti ed esempi

Gli sviluppatori di script PowerShell utilizzano il blocco Powershell Param per aggiungere parametri a funzioni avanzate. Chiunque esegua la funzione può accedere ai parametri aggiunti con PowerShell Param.





Inoltre, oltre ai parametri aggiunti a una funzione con il blocco Param, Windows PowerShell aggiunge automaticamente Common Parameters .



Questa guida illustra la sintassi di Powershell Param, i tipi di parametri Powershell, i loro attributi e gli argomenti. Fornisce inoltre alcuni esempi di come utilizzare il blocco Param per aggiungere parametri a uno script oa una funzione.

Sfoglia gli argomenti dei post



Sintassi di un blocco di parametri di PowerShell

Sintassi di un blocco di parametri di PowerShell

La sintassi di PowerShell Param è...



|_+_|

Per aggiungere un parametro a afunction , inizia con la parola fermare , seguito dal blocco di parametri, (). Ecco una semplice forma di blocco param...

|_+_| Il CmdletBinding attributo è facoltativo ed è l'unico attributo definito al di fuori del blocco param. Maggiori informazioni su questo più avanti nella guida

All'interno del blocco Param – param() – verranno definiti gli attributi dei parametri ei loro argomenti. Inoltre, un attributo di parametro è racchiuso in un blocco [()].



Nel codice della sintassi sopra, ho messo in grassetto tutti gli argomenti dei parametri. Ci sono molti più argomenti dei parametri: quelli nella sintassi sono solo a scopo illustrativo e non sono in alcun modo esaustivi.

All'interno del blocco di parametri verranno definiti gli argomenti dei parametri, separati da virgole. Un esempio di attributo di PowerShell Param è il parametro attributo.



Inoltre, un esempio di argomento param è il obbligatorio discussione. Un altro esempio di argomento param è NomeSetParametro .

Infine, definirai il nome del parametro. Inoltre, specificherai anche il tipo di dati del parametro.

Nella prossima sezione parlerò dei tipi comuni di parametri di PowerShell. Quindi, la sezione tre copre gli attributi dei parametri comuni e i loro argomenti.

Infine, nell'ultima sezione di questa guida, fornirò un esempio SysAdmin nella vita reale di un parametro PowerShell. La sezione fornirà anche esempi di come utilizzare il blocco param in una funzione avanzata.

Tipi di parametri di PowerShell

Tipi di parametro del parametro PowerShell

I tipi più comuni di parametri che puoi impostare sono corda o interruttore parametri. Inoltre, puoi anche definire int , bollo , Appuntamento o tipi di parametri char.

In questa sezione spiegherò alcuni di questi tipi di parametri. Darò anche alcuni esempi su come definirli in un blocco param.

Parametro PowerShell Corda Parametro

Quando crei parametri di PowerShell, è probabile che creerai a corda parametro. UN corda il parametro accetta qualsiasi valore stringa.

In Windows PowerShell, una stringa può essere composta da numeri, parole o caratteri. In particolare, tutto ciò che dichiari tra virgolette doppie o singole è una stringa.

In PowerShell, il tipo di oggetto di una stringa è System.String .

Per dichiarare un parametro di PowerShell come parametro stringa, prima del nome del parametro, racchiudere la parola corda tra parentesi. Ecco un esempio...

|_+_|

Parametro PowerShell int Parametro

Un int il tipo di dati è un intero con segno a 32 bit. In inglese, un int è un numero, ad esempio 1, 2 o 3.

A differenza di un corda tipo di dati del parametro che può accettare qualsiasi tipo di dati, an int parametro è molto prescrittivo.

Se definisci un int parametro, il parametro può accettare solo numeri. Inoltre, se inserisci parole come valore per int parametro, PowerShell genererà un messaggio di errore.

Prima di mostrarti come definire un parametro di PowerShell int parametro, ecco un esempio generale di come definire un tipo di dati int...

|_+_|

Se eseguo il codice in PowerShell, verrà restituito 123 .

Parametro di PowerShell int

Al contrario, se sostituisco, 123 con questo è un int, PowerShell genererà un messaggio di errore.

|_+_|

Ora che hai avuto un int corso accelerato del tipo di dati, per creare un parametro PowerShell int parametro chiamato numero, ecco il codice...

|_+_|

Ciò costringerà gli utenti del tuo script o funzione a fornire il tipo di dati corretto.

Parametro PowerShell Appuntamento Parametro

Come un int parametro, A Appuntamento parametro è anche molto prescrittivo del tipo di input che accetta. Come suggerisce il nome, il Appuntamento il parametro accetterà solo input di formato Data e Ora.

telefono Android non connesso a Internet

Se desideri definire un parametro di PowerShell che accetterà solo le date, utilizza il codice di esempio riportato di seguito...

|_+_|

In questo esempio, Inserisci Data è il nome del parametro. Inoltre, Appuntamento definisce il tipo di dati.

Parametro PowerShell Interruttore Parametro

Nelle prime tre sottosezioni di questa sezione, ho discusso i tipi di parametri di PowerShell che richiedono l'input di un utente.

Tuttavia, esiste un tipo di parametro di PowerShell che non richiede l'input di un utente. A differenza degli altri tipi di parametri, a interruttore parametro non richiede l'input dell'utente.

Il modo in cui definisci a interruttore parametro è simile al modo in cui si definiscono altri tipi di parametri. Tuttavia, al posto di interruttore , int , o appuntamento , usa la parola interruttore .

Ad esempio, per definire un parametro di PowerShell Interruttore parametro, Esporta CSV , usa il codice qui sotto...

|_+_|

Infine, per questa sezione, potresti chiederti dell'applicazione di interruttore parametri. Pensa a uno script o a una funzione di PowerShell in grado di visualizzare i risultati sulla console di PowerShell.

Potresti anche voler dare all'utente la possibilità di esportare il risultato in un file di testo o in un file CSV.

Un modo per codificare la funzione consiste nel creare 3 parametri di commutazione. Un utente può quindi selezionare uno dei parametri, a seconda di come desidera che la funzione fornisca il risultato.

Questo tipo di parametro non richiede all'utente di immettere un input. Selezionando semplicemente il parametro, la funzione visualizzerà l'uscita di conseguenza.

Puoi anche definire altri parametri di PowerShell con tipi di dati specifici. Per informazioni sui tipi di dati di PowerShell, visitare questo collegamento: Come definire i tipi di dati di PowerShell .

Attributi e argomenti dei parametri di PowerShell Param

Attributi e argomenti dei parametri di PowerShell Param

Nella sintassi dei parametri di PowerShell di questa guida, ho accennato al fatto che un parametro di PowerShell ha attributi. Inoltre, ho anche sottolineato che ogni attributo di parametro ha anche argomenti.

In questa sezione parlerò degli attributi dei parametri e dei loro argomenti.

Per spiegare gli attributi dei parametri e i loro argomenti, farò riferimento alla sintassi del parametro PowerShell introdotta nella prima sezione di questa guida.

|_+_|

Parametro PowerShell CmdletBinding Attributo

Il CmdletBinding l'attributo è solitamente specificato prima del blocco param. Quando definisci il CmdletBinding attributo, PowerShell riconoscerà lo script come una funzione avanzata.

Nella sezione della sintassi di questa guida, ho utilizzato questo codice come versione semplificata di un blocco param.

|_+_|

In questa sezione mi concentrerò sul CmdletBinding Attributo parte del codice. Ecco come definire il Attributo …

|_+_|

Nelle prossime 3 sottosezioni, discuterò alcuni degli argomenti comuni, che puoi definire nel CmdletBinding attributo.

A scanso di equivoci, è necessario definire tutto argomenti all'interno del blocco () del Attributo . Inoltre, DEVI separare tutti gli attributi con una virgola (,), tranne l'ultimo argomenti all'interno del Attributo .

Parametro PowerShell DefaultParameterSetName Discussione

Quando sviluppi una funzione di PowerShell, può contenere più parametri che un utente può usare nello stesso comando. Inoltre, la stessa funzione di PowerShell può contenere un altro set di parametri che un utente può usare in un altro comando.

Tuttavia, l'utente non può combinare i parametri nel primo set con i parametri nel secondo set.

Inoltre, uno sviluppatore di funzioni definisce tutti i parametri che un utente può utilizzare nello stesso comando con il NomeSetParametro discussione. Il NomeSetParametro argomento è definito all'interno dell'attributo parametro (ulteriori informazioni su questo nella prossima sezione).

L'implicazione di avere diversi insiemi di parametri raggruppati è che ne avrai diversi NomeSetParametro S.

Con diverso NomeSetParametro s sfidato nel tuo blocco param, puoi decidere di definire uno dei NomeSetParametro s come impostazione predefinita. Qui è dove usi il DefaultParameterSetName Discussione.

Il DefaultParameterSetName L'argomento è definito all'interno del CmdletBinding blocco di attributi. Ecco un esempio...

|_+_|

Infine, per mantenere il nostro formato di blocco dei parametri di PowerShell, reintrodurrò il blocco dei parametri di seguito...

|_+_|

Parametro PowerShell SupportsShouldProcess Discussione

Questo è un altro argomento che puoi definire in CmdletBinding Attributo . Come il DefaultParameterSetName Argomento, il SupportsShouldProcess L'argomentazione è facoltativa.

Il SupportsShouldProcess L'argomento aggiunge il Confermare e Cosa succede se parametri comuni alla funzione.

Per aggiungere questo argomento, aggiungi una virgola (,) alla fine di DefaultParameterSetName discussione. Quindi, aggiungi la linea - SupportsShouldProcess =$vero o $falso.

Con questo nuovo argomento incluso, il CmdletBinding Attributo ora sarà così...

|_+_|

Parametro PowerShell HelpURI Discussione

Se hai familiarità con PowerShell Ottenere aiuto Cmdlet, potresti esserti imbattuto nel suo in linea parametro. Quando corri Ottenere aiuto con il in linea parametro, PowerShell apre la pagina della guida in linea del cmdlet.

Ad esempio, per aprire la pagina della guida in linea del cmdlet Out-File, eseguire il comando seguente...

|_+_|

La pagina aperta da questo comando è definita in una funzione dal HelpURI Discussione. Quindi, se vuoi che gli utenti accedano alla pagina della guida in linea della tua funzione, definisci il HelpURI Discussione.

Ecco un esempio...

|_+_|

Includerò ora quest'ultimo argomento nel CmdletBinding Attributo . Ecco il codice aggiornato...

|_+_|

Parametro PowerShell Parametro Attributo

Nel parametro PowerShell CmdletBinding Sottosezione Attributi, ho discusso 3 argomenti che puoi includere in CmdletBinding Blocco attributi.

Come hai visto, il CmdletBinding Il blocco attributi è l'unico attributo definito al di fuori del blocco param.

In questa sottosezione imparerai a conoscere l'attributo del parametro. Inoltre, imparerai anche gli argomenti comuni che puoi aggiungere a questo attributo.

Come avrai dedotto dagli esempi già utilizzati in questa guida, l'attributo parametro definisce gli argomenti che controllano il comportamento di un parametro param di PowerShell.

È possibile definire l'attributo parametro racchiudendo la parola parametro, seguita da parentesi () in un blocco []. Ecco un esempio...

cercatore di città di minecraft
|_+_|

Andando avanti, DEVI definire tutti gli argomenti dell'attributo parametro all'interno del blocco ().

Nelle seguenti sottosezioni della sezione Attributo del parametro di PowerShell, introdurrò e spiegherò gli argomenti comuni che è possibile definire all'interno dell'attributo del parametro.

Parametro PowerShell NomeSetParametro Discussione

Quando ho spiegato DefaultParameterSetName in precedenza in questa guida, ho introdotto NomeSetParametro Discussione. È possibile utilizzare questo argomento per eseguire in batch o raggruppare parametri che un utente può eseguire nello stesso comando.

Ad esempio, per definire a NomeSetParametro chiamato NomeSetParametro1 , immettere il codice riportato di seguito nel blocco Attributo parametro ().

|_+_|

Quando introduco questo codice aggiornato, il blocco param del mio codice di esempio ora avrà questo aspetto..

|_+_|

Se riporto il CmdletBinding attributo, il mio codice del parametro PowerShell di esempio sarà ora simile a questo...

|_+_|

Parametro PowerShell Obbligatorio Discussione

Puoi usare il Obbligatorio argomento per definire se un parametro è obbligatorio o facoltativo. Il Obbligatorio argomento accetta un valore $true o $false – $true significa richiedere, $false, non richiesto.

Inoltre, il Obbligatorio l'argomento è facoltativo. Tuttavia, se questo argomento non è definito, il parametro verrà considerato facoltativo.

Per definire il Obbligatorio Argomento, aggiungi il codice seguente al blocco Attributo parametro...

|_+_|

Infine, se includo il Obbligatorio Codice argomento per il mio codice parametro PowerShell, ora avrò ...

|_+_|

Parametro PowerShell Posizione Discussione

Il Posizione L'argomento dell'attributo parametro definisce la posizione del parametro. Il valore è un numero intero, a partire da 0 (zero).

Il vantaggio del Posizione L'argomento è consentire agli utenti di eseguire la funzione utilizzando la posizione dei parametri. In particolare, quando si definisce il Posizione Argomento, un utente può immettere valori per ogni parametro nella riga di comando senza specificare il parametro.

PowerShell assegnerà quindi ogni valore nella riga di comando in base alla posizione del parametro.

Ad esempio, il Get-ChildItem Il cmdlet ha un parametro chiamato Sentiero (con posizione 0). Il cmdlet ha anche un altro parametro, Filtro (con posizione 1).

Per impostazione predefinita, se eseguo il Get-ChildItem comando, devo includere i nomi dei parametri prima di aggiungere i loro valori. Vedi il comando qui sotto...

|_+_|

In questo comando, ho chiamato i parametri e quindi ho specificato i loro valori.

Argomento della posizione del parametro PowerShell

Tuttavia, poiché conosco le posizioni di questi 2 parametri, posso aggiungere valori nelle loro posizioni, senza chiamare espressamente i parametri. Modificherò quindi il mio comando come mostrato di seguito...

|_+_|

Ovviamente, questo mi fa risparmiare tempo! Tuttavia, se stai guardando un codice PowerShell lungo, ciò potrebbe causare confusione.

Il comando dà lo stesso risultato in PowerShell...

PowerShell assegnerà automaticamente i valori nelle posizioni ai parametri in base al loro Posizione Discussione.

Andando avanti, ecco come si definisce il Posizione Discussione…

|_+_| In questo esempio, la mia posizione del parametro è 0 (zero). Quando definisco il mio prossimo parametro, sarà in posizione 1 e così via. Non puoi avere due parametri nella stessa posizione. Più avanti nella guida, imparerai come aggiungere un parametro nella stessa posizione ma diversi ParameterSetNames.

Ora aggiungerò questo argomento al mio codice di esempio...

|_+_|

Parametro PowerShell Valore dalla pipeline Discussione

Un altro parametro augment comunemente usato è il Valore dalla pipeline Discussione. Come suggerisce il nome, questo argomento determina se un parametro accetta valori dalla pipeline.

Lei è come definisci questo argomento...

|_+_|

Se aggiungo questo nuovo argomento al mio codice, apparirà così...

|_+_|

C'è un altro argomento chiamato ValueFrom PipelineByPropertyName . Per leggere questo argomento, visitare about_Functions_Advanced_Parameters .

Parametro PowerShell Messaggio di aiuto Discussione

È possibile utilizzare questo argomento per specificare il messaggio per mostrare agli utenti come utilizzare un parametro. Per definire un Messaggio di aiuto Argomento per un parametro, usa un codice simile a quello qui sotto...

|_+_|

Ed ecco ora il mio codice aggiornato...

|_+_|

Finora in questa sezione ho discusso 2 attributi del parametro PowerShell: CmdletBinding e Parametro . Inoltre, ho anche discusso gli argomenti comuni che puoi definire per questi attributi.

Nelle restanti 3 sottosezioni di questa sezione, ti insegnerò 3 attributi dei parametri di PowerShell più comunemente usati. Tuttavia, questi 3 attributi non richiedono la definizione di argomenti.

Parametro PowerShell Alias Attributo

L'attributo alias viene utilizzato per specificare gli alias di un parametro. Come avrai intuito, è possibile utilizzare l'alias di un parametro di PowerShell al posto del parametro.

Prima di mostrarti come definire l'attributo alias per un parametro, lascia che ti mostri come trovare gli alias di tutti i cmdlet e le funzioni sul tuo computer.

come disattivare il salto automatico minecraft

Per elencare tutti gli alias per Cmdlet e Funzioni, eseguire il comando seguente

|_+_|

Questo elencherà tutti gli alias...

Attributo dell'alias del parametro PowerShell

Passando a Alias Attributo, per definirne uno per un parametro di PowerShell param, utilizzare un codice simile a quello seguente...

|_+_| In questo esempio, FP è l'alias per il parametro.

Se lo aggiungo al mio codice, la versione aggiornata sarà simile a questa...

|_+_|

Parametro PowerShell Supporta i caratteri jolly Attributo

Questo attributo parametro param determina se un parametro accetta caratteri jolly. Ecco come definire questo attributo...

|_+_|

Parametro PowerShell ValidateNotNullOrEmpty Attributo di convalida

Come la maggior parte degli attributi già trattati in questa guida, anche il nome di questo attributo lo rivela. È un attributo di convalida.

Quando si definisce questo attributo, il parametro NON accetterà un valore nullo ($null). Inoltre, non accetterà un valore vuoto ().

Se un utente immette $null o , la funzione genererà un errore. Per definire questo attributo, inserisci il codice qui sotto...

|_+_|

Infine, aggiornerò il mio codice con gli ultimi 2 attributi...

|_+_|

Nome parametro parametro PowerShell

Dopo aver definito tutti gli attributi e gli argomenti di un parametro, è necessario aggiungere il nome del parametro. Un parametro di PowerShell param è definito come una variabile, con un segno di dollaro ($), seguito dal nome del parametro.

È anche possibile inserire facoltativamente un tipo di dati per il parametro. Nella sezione 2 di questa guida, ho discusso i diversi tipi di parametri di PowerShell.

Ecco come definire un parametro che può accettare corda tipo di dati.

|_+_|

Ecco il mio esempio di codice aggiornato...

|_+_|

Come definire un parametro di PowerShell in più set di parametri

Come definire un parametro di PowerShell in più set di parametri

Se sei nuovo nella codifica delle funzioni di PowerShell, è probabile che cadrai nella tentazione di definire più volte un parametro.

Uno dei motivi per cui potresti voler avere un parametro più volte è quando un parametro viene utilizzato in più ParameterSetNames (più set di parametri).

Per guidare questa casa, supponiamo che tu stia sviluppando una funzione di PowerShell che ha a Sentiero parametro. Tuttavia, hai 2 ParameterSetNames che richiedono il parametro Path.

La maggior parte delle persone che non conoscono gli script di PowerShell probabilmente definiranno i parametri mostrati di seguito...

|_+_|

Se si definiscono i parametri, come mostrato sopra, verrà visualizzato un messaggio di errore. Per testare questa teoria, copierò il codice in PowerShell ISE .

Come definire un parametro di PowerShell in più set di parametri

Allora, come lo risolvi? La soluzione è definire i 2 attributi dei parametri e i loro argomenti, inclusi i loro ParameterSetNames.

Quindi, alla fine di entrambi gli attributi di parametro, definire un unico nome di parametro comune a entrambi gli attributi di parametro. Nell'esempio precedente, rimuoverò il primo nome del parametro e lascerò l'ultimo.

perché Google Maps è lento?
|_+_|

Ora, se copio questo codice in PowerShell ISE, andrà bene.

In questo esempio, si noti che gli argomenti dei parametri per entrambi gli attributi dei parametri possono essere completamente diversi. Inoltre, puoi definire tutti gli attributi dei parametri che desideri.

Esempi di parametri di PowerShell

Esempi di parametri di PowerShell

In quest'ultima sezione della guida, fornirò un esempio di parametro SysAdmin PowerShell nella vita reale.

Mentre stavo scrivendo questa guida, ho iniziato a sviluppare uno script/funzione di PowerShell per ottenere le dimensioni delle cartelle e il conteggio dei file. Ecco la parte param della funzione...

|_+_|

Nelle prossime sottosezioni di questa sezione, spiegherò i diversi elementi del param. Infine, l'ultima sezione introduce un blocco funzione e aggiunge il blocco param nella funzione.

Per semplificare la lettura delle righe del codice a cui si fa riferimento nelle sottosezioni successive, scaricare PowerShellParamExample.zip . Quindi, decomprimi il file e apri il file .ps1 in PowerShell ISE .

ParameterSetName Esempio di parametro di PowerShell

Il mio codice di esempio del parametro PowerShell ha tre ParameterSetNames – Visualizzarisultato , Esporta Txt e Esporta CSV . Ho usato questi nomi per facilitare l'identificazione di ciò che fanno.

Nell'introduzione di questa sezione, ho menzionato che la funzione che sto costruendo con questo codice parametro visualizzerà la dimensione della cartella e il conteggio dei file per ogni sottocartella in una cartella specificata.

Pertanto, i tre ParameterSetNames offrono a un utente la possibilità di visualizzare i risultati nella console di PowerShell. In alternativa, un utente ha la possibilità di esportare il risultato in un file di testo o in un file CSV.

Inoltre, ciascuno NomeSetParametro definire tutti i parametri che un utente può chiamare in un unico comando. Sulla base di questa idea, la funzione che sto costruendo avrà tre opzioni di comando o sintassi.

Espanderò questa idea nelle sottosezioni e negli esempi successivi.

CmdletBinding Attributo E DefaultParameterSetName Esempi di argomenti

Nelle sezioni precedenti di questa guida, ti sei imbattuto in CmdletBinding Attributo. Inoltre, ti sei imbattuto anche in uno dei suoi argomenti: DefaultParameterSetName .

Il DefaultParameterSetName argomento viene utilizzato per definire il set di parametri predefinito chiamato da una funzione. In questo esempio, il nome del set di parametri predefinito è Visualizzarisultato .

Il DefaultParameterSetName è dichiarato nella riga 1 del codice.

PowerShell tenterà di usare il set di parametri dichiarato da DefaultParameterSetName se non è in grado di determinare quale set di parametri utilizzare. Tuttavia, se imposti parametri obbligatori, puoi evitare questo problema.

In ogni caso, non c'è nulla di male nel dichiarare un nome di set di parametri predefinito.

Percorso cartella Esempio di parametro stringa

È qui che inizia il divertimento! Il Percorso cartella parametro viene utilizzato per inserire il percorso della cartella, la funzione otterrà la dimensione delle sue sottocartelle e conterà il numero di file in ciascuna sottocartella.

Questo è un parametro stringa. Significa che accetta qualsiasi stringa come input.

Una caratteristica interessante del Percorso cartella parametro è che è comune ai 3 nomi dei set di parametri. In precedenza in questo articolo, ho spiegato la sfida che i nuovi sviluppatori di script di PowerShell potrebbero dover affrontare in questa situazione.

Per dichiarare il Percorso cartella parametro nei tre nomi di set di parametri, ho creato tre attributi di parametro.

mappa delle partizioni apple vs guid

Il primo attributo di parametro è compreso tra le righe 5 e 11. Inoltre, questo primo attributo di parametro ha più argomenti.

Tuttavia, mi piacerebbe che tu presti particolare attenzione al NomeSetParametro discussione - Visualizzarisultato .

Esempio di parametro di stringa FolderPath

In secondo luogo, tra le righe 12 e 18, ho dichiarato un altro attributo di parametro con a NomeSetParametro argomento chiamato Esporta Txt .

Infine, tra le righe 19 e 25, ho dichiarato un terzo attributo di parametro con a NomeSetParametro argomento chiamato Esporta CSV .

Esempio di parametro di stringa FolderPath

Inoltre, se noti, a differenza della dichiarazione di 3 attributi di parametro, ne ho dichiarati uno singolo Alias , e ValidateNotNullOrEmpty attributi. Questi attributi possono essere trovati nelle righe 26 e 27.

Esempio di parametro di stringa FolderPath

Infine, appena sotto tutti gli attributi e i loro argomenti, ho incluso il nome del parametro – Percorso cartella . Il nome del parametro è nella riga 28.

Esempio di parametro di stringa FolderPathNell'ultima sottosezione di questa sezione, vedrai come la funzione visualizza questo parametro in 3 sintassi di comando.

Visualizzarisultato , Esporta Txt e Esporta CSV Esempio di parametro di commutazione

Dalla riga 29 del codice param, ho dichiarato un altro insieme di attributi di parametro e i loro argomenti.

In primo luogo, tra le righe 29 e 37, dichiaro gli attributi e gli argomenti del parametro per il Visualizzarisultato parametro.

Quindi, tra le righe 38 e 47, dichiaro un altro parametro chiamato Esporta Txt .

Esempio di parametro di commutazione DisplayResult, ExportTxt ed ExportCSV

Infine, tra i versi 48 e 57, ho dichiarato il Esporta CSV parametro.

I 3 parametri che ho descritto in questa sezione sono tutti Interruttore parametri. Come già sapete, ciò significa che i parametri non richiedono alcun input da parte dell'utente.

Quando un utente seleziona uno qualsiasi dei parametri, la funzione cambia il modo in cui visualizza i risultati.

Come utilizzare il parametro PowerShell in una funzione di PowerShell

In questa sottosezione, voglio introdurre il blocco funzione di PowerShell nel mio codice di esempio.

La sintassi di un blocco funzione di PowerShell è...

|_+_|

Per l'ultimo esempio in questa guida, sostituirò il blocco di parametri di PowerShell all'interno della sintassi della funzione con il mio codice di parametro dall'ultima sottosezione. Inoltre, sostituirò la funzione con Get-FolderSizeFileCount , il nome della funzione.

La funzione finale ora sarà simile a questa...

|_+_| Per questo esempio, i blocchi Begin {}, Process {} e End {} sono vuoti.

Testare i miei parametri di PowerShell nella funzione di PowerShell

In questa sezione finale, testerò i parametri nella funzione che ho creato nell'ultima sezione.

Se ti piace testarlo tu stesso, puoi scaricare il codice facendo clic su questo link – Get-FolderSizeFileCount.zip . Quindi, decomprimi il file zip.

Dopo aver decompresso il file, apri PowerShell ed esegui il comando seguente:

|_+_| Passa al percorso completo del file decompresso.

Quando esegui il comando, riceverai un messaggio di avviso. Alla richiesta del messaggio, immettere R e premi il tasto Invio sulla tastiera.

Testare i miei parametri di PowerShell nella funzione di PowerShell

Una volta importato il modulo, sulla stessa console di PowerShell, eseguire il comando seguente:

|_+_|

Ecco il risultato del comando...

Quello che voglio mostrarvi è la sezione SINTASSI della pagina di aiuto della mia Funzione. Dallo screenshot sopra, puoi eseguire il comando Get-FolderSizeFileCount in 3 diversi comandi:

|_+_|

La prima cosa da notare è che le tre sintassi hanno l'estensione Percorso cartella parametro stringa. Se leggi questa guida, saprai perché.

Inoltre, noterai che la prima sintassi ha Visualizzarisultato cambia anche il parametro. Infine, nella seconda e terza sintassi, hai il Esporta CSV , e Esporta Txt cambiare parametro rispettivamente.

In aggiunta a Percorso cartella , e Esporta CSV parametri e Esporta Txt parametri rispettivamente nella seconda e terza sintassi, hanno anche il ReportPath parametro stringa. Non ho menzionato questo parametro perché il codice di dichiarazione è simile a Percorso cartella codice, con alcune piccole differenze. Il ReportPath viene utilizzato per specificare il percorso in cui la funzione salverà i rapporti di testo e file CSV.

Ecco fatto: una guida completa sul parametro PowerShell! Spero che tu l'abbia trovato utile?

Se l'hai trovato utile, vota gentilmente sì alla Domanda utile di questo post di seguito.

In alternativa, puoi fare una domanda, lasciare un commento o fornire più feedback con il modulo Lascia un commento che si trova alla fine di questa pagina.

Infine, per altre S Zone di PowerShell tech, visita la nostra pagina della guida di Windows PowerShell. Potresti anche trovare molto utile la nostra pagina Lavoro dalla home.

Riferimenti e ulteriori letture

  1. Come definire i tipi di dati di PowerShell
  2. about_Functions_Advanced_Parameters
  3. about_Functions_CmdletBindingAttribute