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