about_Language_Keywords
Aggiornamento: maggio 2014
Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
ARGOMENTO
about_Language_Keywords
DESCRIZIONE BREVE
Descrive le parole chiave del linguaggio di scripting di Windows PowerShell®.
DESCRIZIONE LUNGA
Windows PowerShell ha le seguenti parole chiave del linguaggio. Per altre informazioni, vedere l'argomento relaitvo alla parola chiave e le informazioni che seguono la tabella.
Keyword Reference
------- ---------
Begin about_Functions, about_Functions_Advanced
Break about_Break, about_Trap
Catch about_Try_Catch_Finally
Continue about_Continue, about_Trap
Data about_Data_Sections
Do about_Do, about_While
DynamicParam about_Functions_Advanced_Parameters
Else about_If
Elseif about_If
End about_Functions, about_Functions_Advanced_Methods
Exit Described in this topic.
Filter about_Functions
Finally about_Try_Catch_Finally
For about_For
ForEach about_ForEach
From Reserved for future use.
Function about_Functions, about_Functions_Advanced
If about_If
In about_ForEach
InlineScript about_InlineScript
Parallel about_Parallel, about_ForEach-Parallel
Param about_Functions
Process about_Functions, about_Functions_Advanced
Return about_Return
Sequence about_Sequence
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
While about_While, about_Do
Workflow about_Workflows
PAROLE CHIAVE DEL LINGUAGGIO
Begin
-----
Specifica una parte del corpo di una funzione, insieme alle parole chiave DynamicParam, Process ed End. L'elenco di istruzioni Begin 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 la chiusura di un ciclo da parte di uno script.
Sintassi:
while (<condition>) {
<statements>
...
break
...
<statements>
}
Catch
-----
Specifica un elenco di istruzioni da eseguire in caso di errore nel corrispondente elenco di istruzioni Try. Un tipo di errore richiede le parentesi. La seconda coppia di parentesi quadre indica che il tipo di errore è facoltativo.
Sintassi:
try {<statement list>}
catch [[<error type>]] {<statement list>}
Continue
--------
Causa l'arresto dell'esecuzione di un ciclo e il ritorno alla condizione da parte di uno script. Se la condizione viene soddisfatta, lo script inizia nuovamente il ciclo.
Sintassi:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
Data
----
In uno script, definisce una sezione che isola i dati dalla logica di script. Può includere anche istruzioni If e alcuni comandi limitati.
Sintassi:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
Do
--
Usato con la parola chiave While o Until come costrutto di ciclo. Windows PowerShell esegue l'elenco di istruzioni una sola volta, diversamente dai cicli che utilizzano While.
Sintassi:
do {<statement list>} while (<condition>)
do {<statement list>} until (<condition>)
DynamicParam
------------
Specifica una parte del corpo di una funzione, insieme alle parole chiave Begin, Process ed 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 parola chiave If per specificare l'elenco di istruzioni predefinito.
Sintassi:
if (<condition>) {<statement list>}
else {<statement list>}
Elseif
------
Usato con le parole chiave If ed Else per specificare ulteriori istruzioni condizionali. La parola chiave Else è facoltativa.
Sintassi:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
End
---
Specifica una parte del corpo di una funzione, insieme alle parole chiave DynamicParam, Begin ed End. L'elenco istruzioni End 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>}
}
Exit
----
Causa l'uscita di Windows PowerShell da uno script o da un'istanza di Windows PowerShell.
Quando si esegue 'powershell.exe –File <percorso di uno script>', è possibile impostare la variabile %ERRORLEVEL% solo su un valore diverso da zero usandlo l'istruzione exit. Nell'esempio seguente, l'utente imposta il valore della variabile del livello errore su 4 digitando 'exit 4'.
C:\Users\bruce\documents\test>type test.ps1
1
2
3
exit 4
C:\Users\bruce\documents\test>powershell -file ./test.ps1
1
2
3
C:\Users\bruce\documents\test>echo %ERRORLEVEL%
4
Quando si usa powershell.exe con il parametro File, il file con estensione ps1 (script) deve includere le istruzioni per la gestione degli errori o delle eccezioni che si verificano durante l'esecuzione dello script. Usare l'istruzione exit solo per indicare lo stato successivo all'esecuzione dello script.
Sintassi:
exit
exit <exit code>
Filter
------
Specifica una funzione in cui l'elenco di istruzioni viene eseguito una volta per ogni oggetto di input. Ha lo stesso effetto di una funzione che contiene solo un blocco Process.
Sintassi:
filter <name> {<statement list>}
Finally
-------
Definisce un elenco di istruzioni che viene eseguito dopo le istruzioni associate a Try e Catch. Un elenco di istruzioni Finally viene eseguito anche se si preme CTRL+C per interrompe uno script o se si usa la parola chiave Exit nello script.
Sintassi:
try {<statement list>}
catch [<error type] {<statement list>}
finally {<statement list>}
For
---
Definisce un ciclo usando una condizione.
Sintassi:
for (<initialize>; <condition>; <iterate>) {<statement list>}
ForEach
-------
Definisce un ciclo usando ogni membro di una raccolta.
Sintassi:
ForEach (<item> in <collection>){<statement list>}
From
-----
Riservato per utilizzi futuri.
Function
--------
Crea un elenco di istruzioni denominato del codice riutilizzabile. È possibile denominare l'ambito a cui appartiene una funzione. Inoltre, è possibile specificare uno o più parametri denominati usando la parola chiave Param. All'interno dell'elenco di istruzioni di funzione, è possibile includere gli elenchi di istruzioni DynamicParam, Begin, Process ed 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>}
In
--
Usato in un'istruzione ForEach per creare un ciclo che usa ogni membro di una raccolta.
Sintassi:
ForEach (<item> in <collection>){<statement list>}
InlineScript
------------
Esegue i comandi del flusso di lavoro in una sessione di Windows PowerShell condivisa. Questa parola chiave è valida solo in un flusso di lavoro Windows PowerShell.
Sintassi:
workflow <verb>-<noun>
{
InlineScript
{
<Command/Expression>
...
}
}
La parola chiave InlineScript indica un'attività InlineScript che esegue i comandi in una sessione (non-flusso di lavoro) standard condivisa. È possibile usare la parola chiave InlineScript per eseguire comandi che non sono altrimenti validi in un flusso di lavoro e per eseguire comandi che condividono dati. Per impostazione predefinita, i comandi in un blocco di script InlineScript vengono eseguiti in un processo separato.
Per altre informazioni, vedere about_InlineScript ed Esecuzione comandi di Windows PowerShell in un flusso di lavoro (https://technet.microsoft.com/library/jj574197.aspx).
Param
-----
Definisce i parametri in una funzione.
Sintassi:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
Parallel
--------
Esegue i comandi del flusso di lavoro simultaneamente e in un ordine non definito. Questa parola chiave è valida solo in un flusso di lavoro Windows PowerShell.
La parola chiave Parallel indica un blocco di script parallelo. I comandi di un blocco di script Parallel possono essere eseguiti contemporaneamente e in qualsiasi ordine. Questa funzionalità migliora notevolmente le prestazioni di un flusso di lavoro.
Sintassi:
workflow <verb>-<noun>
{
Parallel
{
<Activity>
<Activity>
…
}
}
Il parametro Parallel della parola chiave ForEach elabora gli elementi in una raccolta in parallelo. Le attività nel blocco di script vengono eseguite in sequenza su ogni elemento, ma il blocco di script può essere eseguito su più elementi contemporaneamente e gli elementi vengono elaborati in un ordine non definito.
Sintassi:
workflow <verb>-<noun>
{
ForEach -Parallel (<item> in <collection>)
{
<Activity>
<Activity>
...
}
}
Per altre informazioni, vedere about_Parallel, about_ForEach-Parallel
Process
-------
Specifica una parte del corpo di una funzione, insieme alle parole chiave DynamicParam, Begin ed End. Quando un elenco di istruzioni Process riceve l'input dalla pipeline, viene eseguito una volta per ogni elemento dalla pipeline. Se la pipeline non fornisce alcun oggetto, l'elenco di istruzioni Process non viene eseguito. Se il comando è il primo comando della pipeline, l'elenco di istruzioni Process viene eseguito una volta.
Sintassi:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Return
------
Causa l'uscita di Windows PowerShell dall'ambito corrente, ad esempio uno script o una funzione, e scrive l'espressione facoltativa nell'output.
Sintassi:
return [<expression>]
Sequence
--------
Esegue i comandi del flusso di lavoro in sequenza in un blocco di script Parallel. Questa parola chiave è valida solo in un flusso di lavoro Windows PowerShell.
Sintassi:
workflow <verb>-<noun>
{
Parallel
{
Sequence
{
<Activity>
}
}
}
La parola chiave Sequence crea un blocco di sequenza all'interno di un blocco di script Parallel. I comandi nel blocco di script Sequence vengono eseguiti in sequenza e nell'ordine definito.
Per altre informazioni, vedere about_Sequence
Switch
------
Specifica una serie di azioni da eseguire sugli elementi provenienti dalla pipeline o da un file. È possibile usare uno dei modelli di sintassi seguenti.
Sintassi 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( pipeline )
{
<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 un errore.
Sintassi:
throw [<object>]
Trap
----
Definisce un elenco di istruzioni da eseguire se viene rilevato un errore. Un tipo di errore richiede le parentesi. 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 per la ricerca di errori durante l'esecuzione delle istruzioni. Se si verifica un errore, Windows PowerShell continua l'esecuzione in un'istruzione Catch o Finally. Un tipo di errore richiede le parentesi. 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 un costrutto di ciclo in cui l'elenco di istruzioni viene eseguito almeno una volta.
Sintassi:
do {<statement list>} until (<condition>)
While
-----
Usato in un'istruzione Do come un costrutto di ciclo in cui l'elenco di istruzioni viene eseguito almeno una volta.
Sintassi:
do {<statement list>} while (<condition>)
Workflow
--------
Crea un flusso di lavoro Windows PowerShell basato su script, ovvero scritto nel linguaggio di Windows PowerShell.
Un flusso di lavoro Windows PowerShell è un tipo di comando Windows PowerShell supportato da Windows PowerShell e Windows Workflow Foundation. I flussi di lavoro sono progettati per le attività complesse ad esecuzione prolungata che interessano più computer. I flussi di lavoro possono essere recuperati in caso di interruzione (ad esempio per una disconnessione della rete), e possono essere sospesi e ripresi senza perdere dati o lo stato.
I flussi di lavoro possono essere scritti in XAML, il linguaggio nativo di Windows Workflow Foundation, o nel linguaggio di Windows PowerShell.
La sintassi di un flusso di lavoro basato su script è simile a quella di una funzione. Tuttavia, l'unità di esecuzione in un flusso di lavoro è un'attività invece di un comando. I cmdlet e altri comandi usati in flussi di lavoro basati su script vengono convertiti implicitamente in attività.
Alcuni elementi del linguaggio consentiti in funzioni e script non sono consentiti nei flussi di lavoro. Analogamente, i flussi di lavoro possono includere elementi non presenti negli script e nelle funzioni, ad esempio "punti di persistenza" (checkpoint), sospensione automatica ed elaborazione parallela. Inoltre, tutti i flussi di lavoro presentano un set di parametri comuni che vengono aggiunti da Windows PowerShell quando si usa la parola chiave Workflow.
Sintassi:
workflow <Verb-Noun> {
param ([type]<$pname1> [, [type]<$pname2>])
<statement list>
}
workflow <verb-noun>
{
[CmdletBinding(<Attributes>)]
Param
(
[Parameter(<Arguments>)]
$Param1
)
<statement list>
}
Per altre informazioni sui flussi di lavoro, vedere about_Workflows e "Guida introduttiva al flusso di lavoro Windows PowerShell" (https://go.microsoft.com/fwlink/?LinkID=252592) nella libreria TechNet.
VEDERE ANCHE
about_Escape_Characters
about_Special_Characters
about_Wildcards