Condividi tramite


about_Language_Keywords

Descrizione breve

Descrive le parole chiave nel linguaggio di scripting di PowerShell.

Descrizione lunga

PowerShell include le parole chiave del linguaggio seguenti. Per altre informazioni, vedere l'argomento about per la parola chiave e le informazioni che seguono la tabella.

Parola chiave Riferimento
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
clean about_Functions, about_Functions_Advanced_Methods
continue about_Continue, about_Trap
data about_Data_Sections
define Prenotato per un futuro utilizzo
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit Descritto in questo argomento
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_ForEach
from Prenotato per un futuro utilizzo
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_ForEach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var Prenotato per un futuro utilizzo
while about_While, about_Do

Le parole chiave seguenti vengono usate dai flussi di lavoro di PowerShell:

  • inlinescript
  • parallel
  • sequence
  • workflow

I flussi di lavoro di PowerShell sono supportati solo in PowerShell 5.1. Per altre informazioni sui flussi di lavoro, vedere Esecuzione di comandi di PowerShell in un flusso di lavoro.

begin

Specifica una parte del corpo di una funzione, insieme alle dynamicparamparole chiave , processe end . L'elenco begin di istruzioni viene eseguito una volta prima che tutti gli oggetti vengano ricevuti dalla pipeline.

Sintassi:

function <name> {
    dynamicparam {<statement list>}
    begin {<statement list>}
    process {<statement list>}
    end {<statement list>}
}

break

Causa l'uscita di un ciclo da uno script.

Sintassi:

while (<condition>) {
   <statements>
   ...

   break
   ...

   <statements>
}

catch

Specifica un elenco di istruzioni da eseguire se si verifica un errore nell'elenco di istruzioni a discesa try . Un tipo di errore richiede parentesi quadre. La seconda coppia di parentesi quadre indica che il tipo di errore è facoltativo.

Sintassi:

try {<statement list>}
catch [[<error type>]] {<statement list>}

class

Specifica una nuova classe in PowerShell.

Sintassi:

class <class-name> {
    [[hidden] [static] <property-definition> ...]
    [<class-name>([argument-list>]) {<constructor-statement-list>} ...]
    [[hidden] [static] <method-definition> ...]
}

clean

La clean parola chiave è stata aggiunta in PowerShell 7.3. La parola chiave definisce un blocco di codice garantito per l'esecuzione dopo i beginblocchi e end process di una funzione. A differenza del end blocco, il clean blocco viene sempre eseguito, anche quando si verifica un errore irreversibile in uno degli altri blocchi.

continue

Fa sì che uno script arresti l'esecuzione di un ciclo e torni alla condizione. Se la condizione viene soddisfatta, lo script avvia di nuovo il ciclo.

Sintassi:

while (<condition>) {
   <statements>
   ...

   continue
   ...

   <statements>
}

data

In uno script definisce una sezione che isola i dati dalla logica dello script. Può includere if anche istruzioni e alcuni comandi limitati.

Sintassi:

data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}

do

Usato con la while parola chiave o until come costrutto di ciclo. PowerShell esegue l'elenco di istruzioni almeno una volta, a differenza di un ciclo che usa while.

Sintassi per while:

do {<statement list>} while (<condition>)

Sintassi per until:

do {<statement list>} until (<condition>)

dynamicparam

Specifica una parte del corpo di una funzione, insieme alle beginparole chiave , processe end . I parametri dinamici vengono aggiunti in fase di esecuzione.

Sintassi:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

else

Usato con la if parola chiave per specificare l'elenco di istruzioni predefinito.

Sintassi:

if (<condition>) {<statement list>}
else {<statement list>}

elseif

Usato con le if parole chiave e else per specificare istruzioni condizionali aggiuntive. La else parola chiave è facoltativa.

Sintassi:

if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}

end

Specifica una parte del corpo di una funzione, insieme alle dynamicparamparole chiave , begine end . L'elenco end di istruzioni viene eseguito una volta dopo che tutti gli oggetti sono stati ricevuti dalla pipeline.

Sintassi:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

enum

enum viene utilizzato per dichiarare un'enumerazione; un tipo distinto costituito da un set di etichette denominate denominato elenco enumeratore.

Sintassi:

enum <enum-name> {
    <label> [= <int-value>]
    ...
}

exit

Fa sì che PowerShell esce da uno script o da un'istanza di PowerShell.

Sintassi:

exit
exit <exitcode>

Quando si usa pwsh con il parametro File , il .ps1 file (script) deve includere istruzioni per la gestione di eventuali errori o eccezioni che si verificano durante l'esecuzione dello script. È consigliabile usare l'istruzione exit solo per indicare lo stato di post-esecuzione dello script.

In Windows è consentito qualsiasi numero compreso tra [int]::MinValue e [int]::MaxValue .

In Unix sono consentiti solo numeri positivi tra [byte]::MinValue e [byte]::MaxValue . Un numero negativo nell'intervallo di -1 da a -255 viene convertito automaticamente in un numero positivo aggiungendo 256. Ad esempio, -2 viene trasformato in 254.

In PowerShell l'istruzione exit imposta il valore della $LASTEXITCODE variabile. Nella shell dei comandi di Windows (cmd.exe), l'istruzione exit imposta il valore della %ERRORLEVEL% variabile di ambiente.

Qualsiasi argomento non numerico o esterno all'intervallo specifico della piattaforma viene convertito nel valore di 0.

Nell'esempio seguente l'utente imposta il valore della variabile del livello di errore su 4 aggiungendo exit 4 al file test.ps1di script .

C:\scripts\test>type test.ps1
1
2
3
exit 4

C:\scripts\test>pwsh -file ./test.ps1
1
2
3

C:\scripts\test>echo %ERRORLEVEL%
4

Quando si esegue pwsh.exe -File <path to a script> e il file di script termina con un exit comando, il codice di uscita viene impostato sull'argomento numerico usato con il exit comando . Se lo script non dispone di alcuna exit istruzione, il codice di uscita è sempre 0 quando lo script viene completato senza errori o 1 quando lo script termina da un'eccezione non gestita.

filter

Specifica una funzione in cui l'elenco di istruzioni viene eseguito una sola volta per ogni oggetto di input. Ha lo stesso effetto di una funzione che contiene solo un process blocco.

Sintassi:

filter <name> {<statement list>}

finally

Definisce un elenco di istruzioni eseguito dopo le istruzioni associate a try e catch. Un finally elenco di istruzioni viene eseguito anche se si preme CTRL+C per lasciare uno script o se si usa la exit parola chiave nello script.

Sintassi:

try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}

for

Definisce un ciclo con una condizione.

Sintassi:

for (<initialize>; <condition>; <iterate>) { <statement list> }

foreach

Definisce un ciclo utilizzando ogni membro di una raccolta.

Sintassi:

foreach (<item> in <collection>) { <statement list> }

from

Riservato a un uso futuro.

function

Crea un elenco di istruzioni denominate di codice riutilizzabile. È possibile assegnare un nome all'ambito a cui appartiene una funzione. È anche possibile specificare uno o più parametri denominati usando la param parola chiave . All'interno dell'elenco di istruzioni della funzione è possibile includere dynamicparamelenchi di processistruzioni , begin, e end .

Sintassi:

function [<scope:>]<name> {
   param ([type]<$pname1> [, [type]<$pname2>])
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

È anche possibile definire uno o più parametri all'esterno dell'elenco di istruzioni dopo il nome della funzione.

Sintassi:

function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

if

Definisce un'istruzione condizionale.

Sintassi:

if (<condition>) {<statement list>}

hidden

Nasconde i membri della classe dai risultati predefiniti del Get-Member cmdlet, IntelliSense e dei risultati di completamento della scheda.

Sintassi:

hidden [data type] $member_name

in

Utilizzato in un'istruzione foreach per creare un ciclo che usa ogni membro di una raccolta.

Sintassi:

foreach (<item> in <collection>){<statement list>}

param

Definisce i parametri in una funzione.

Sintassi:

function [<scope:>]<name> {
   param ([type]<$pname1>[, [[type]<$pname2>]])
   <statement list>
}

process

Specifica una parte del corpo di una funzione, insieme alle dynamicparamparole chiave , begine end . Quando un process elenco di istruzioni riceve l'input dalla pipeline, l'elenco process di istruzioni viene eseguito una volta per ogni elemento dalla pipeline. Se la pipeline non fornisce oggetti, l'elenco process di istruzioni non viene eseguito. Se il comando è il primo comando nella pipeline, l'elenco process di istruzioni viene eseguito una sola volta.

Sintassi:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

return

Fa in modo che PowerShell lasci l'ambito corrente, ad esempio uno script o una funzione, e scriva l'espressione facoltativa nell'output.

Sintassi:

return [<expression>]

static

Specifica che la proprietà o il metodo definito è comune a tutte le istanze della classe in cui è definita.

Vedere class gli esempi di utilizzo.

switch

Per controllare più condizioni, usare un'istruzione switch . L'istruzione switch equivale a una serie di if istruzioni, ma è più semplice.

L'istruzione switch elenca ogni condizione e un'azione facoltativa. Se viene ottenuta una condizione, viene eseguita l'azione.

Sintassi 1:

switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

Sintassi 2:

switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

throw

Genera un oggetto come errore.

Sintassi:

throw [<object>]

trap

Definisce un elenco di istruzioni da eseguire se viene rilevato un errore. Un tipo di errore richiede parentesi quadre. La seconda coppia di parentesi quadre indica che il tipo di errore è facoltativo.

Sintassi:

trap [[<error type>]] {<statement list>}

try

Definisce un elenco di istruzioni da controllare per verificare la presenza di errori durante l'esecuzione delle istruzioni. Se si verifica un errore, PowerShell continua a essere in esecuzione in un'istruzione catch o finally . Un tipo di errore richiede parentesi quadre. La seconda coppia di parentesi quadre indica che il tipo di errore è facoltativo.

Sintassi:

try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}

until

Usato in un'istruzione do come costrutto di ciclo in cui l'elenco di istruzioni viene eseguito almeno una volta.

Sintassi:

do {<statement list>} until (<condition>)

using

Consente di indicare gli spazi dei nomi usati nella sessione. I nomi dei tipi, le classi e i membri richiedono meno tipizzazione per farvi riferimento. È anche possibile includere classi da moduli.

Sintassi dello spazio dei nomi:

using namespace <.Net-namespace>

Sintassi del modulo:

using module <module-name>

Sintassi dell'assembly:

using assembly <.NET-assembly-path>

Per altre informazioni, vedere about_Using.

while

L'istruzione while è un costrutto di ciclo in cui la condizione viene testata prima dell'esecuzione delle istruzioni. Se la condizione è false, le istruzioni non vengono eseguite.

Sintassi dell'istruzione:

while (<condition>) {
   <statements>
 }

Se usato in un'istruzione do , while fa parte di un costrutto di ciclo in cui l'elenco di istruzioni viene eseguito almeno una volta.

do Sintassi del ciclo:

do {<statement list>} while (<condition>)

Vedi anche