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.
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 dynamicparam
parole chiave , process
e 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 begin
blocchi 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 begin
parole chiave , process
e 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 dynamicparam
parole chiave , begin
e 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.ps1
di 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 dynamicparam
elenchi di process
istruzioni , 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 dynamicparam
parole chiave , begin
e 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>)