about_Language_Keywords

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

TÓPICO

about_Language_Keywords

DESCRIÇÃO BREVE

Descreve as palavras-chave na linguagem de scripts do Windows PowerShell®.

DESCRIÇÃO LONGA

O Windows PowerShell tem as seguintes palavras-chave de linguagem. Para obter mais informações, consulte o tópico sobre para a palavra-chave e as informações que seguem a tabela.

        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

PALAVRAS-CHAVE DA LINGUAGEM

      Begin 
      -----

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave DynamicParam, Process e End. A lista de instruções Begin é executada uma vez antes de quaisquer objetos serem recebidos do pipeline.

Sintaxe:

          function <name> { 
              DynamicParam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }
      Break
      -----

Faz com que um script saia de um loop.

Sintaxe:

          while (<condition>) {
              <statements>
                   ...
              break 
                   ...
              <statements> 
          }
      Catch
      -----

Especifica uma lista de instruções para executar se ocorrer um erro na lista de instrução Try anexa. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

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

Faz com que um script pare de executar um loop e volte para a condição. Se a condição for atendida, o script começa o loop novamente.

Sintaxe:

          while (<condition>) {
              <statements>
                  ...
              continue 
                  ...
              <statements> 
          }
      Data   
      ----

Em um script, define uma seção que isola os dados da lógica do script. Também é possível incluir instruções If e alguns comandos limitados.

Sintaxe:

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

Usada com a palavra-chave While ou Until como um constructo de loop. O Windows PowerShell executa a lista de instruções de pelo menos uma vez, diferente de um loop que usa While.

Sintaxe:

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

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

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave Begin, Process e End. Parâmetros dinâmicos são adicionados no tempo de execução.

Sintaxe:

          function <name> { 
              DynamicParam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }
      Else
      ----

Usada com a palavra-chave If para especificar a lista de instruções padrão.

Sintaxe:

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

Usada com as palavras-chave If e Else para especificar condicionais adicionais. A palavra-chave Else é opcional.

Sintaxe:

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

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave DynamicParam, Begin e End. A lista de instruções End é executada uma vez após todos os objetos terem sido recebidos do pipeline.

Sintaxe:

          function <name> { 
              DynamicParam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }
      Exit
      ----

Faz com que o Windows PowerShell saia de um script ou de uma instância do Windows PowerShell.

Quando você executa 'powershell.exe –File <caminho para um script>', pode definir a variável %ERRORLEVEL% apenas para um valor diferente de zero usando a instrução exit. No exemplo a seguir, o usuário define o valor da variável de nível de erro para 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 você usa powershell.exe com o parâmetro File, o próprio arquivo .ps1 (script) deve incluir instruções para a manipulação de quaisquer erros ou exceções que ocorrem enquanto o script está sendo executado. Você deve usar a instrução exit apenas para indicar o status após a execução do script.

Sintaxe:

          exit
          exit <exit code>
      Filter 
      ------

Especifica uma função na qual a lista de instruções é executada uma vez para cada objeto de entrada. Ela tem o mesmo efeito que uma função que contém apenas um bloco Process.

Sintaxe:

          filter <name> {<statement list>}
      Finally
      -------

Define uma lista de instruções que é executada após as instruções que estão associadas à Try e Catch. Uma lista de instruções Finally é executada mesmo se você pressionar CTRL+C para sair de um script ou se usar a palavra-chave Exit no script.

Sintaxe:

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

Define um loop usando uma condição.

Sintaxe:

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

Define um loop usando cada membro de uma coleção.

Sintaxe:

          ForEach (<item> in <collection>){<statement list>}
      From
      -----

Reservado para uso futuro.

      Function
      --------

Cria uma lista de instruções nomeadas de código reutilizável. Você pode nomear o escopo ao qual uma função pertence. Além disso, você pode especificar um ou mais parâmetros nomeados usando a palavra-chave Param. Dentro da lista de instruções de função, você pode incluir as listas de instruções DynamicParam, Begin, Process e End.

Sintaxe:

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

Você também tem a opção de definir um ou mais parâmetros fora da lista de instruções após o nome da função.

Sintaxe:

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

Define uma condicional.

Sintaxe:

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

Usada em uma instrução ForEach para criar um loop que usa cada membro de uma coleção.

Sintaxe:

          ForEach (<item> in <collection>){<statement list>}
      InlineScript
      ------------

Executa comandos de fluxo de trabalho em uma sessão do Windows PowerShell compartilhada. Essa palavra-chave é válida apenas em um Fluxo de Trabalho do Windows PowerShell.

Sintaxe:

          workflow <verb>-<noun>
          { 
              InlineScript
              {
                  <Command/Expression>
                  ...
              }
          }

A palavra-chave InlineScript indica uma atividade InlineScript, que executa comandos em uma sessão padrão compartilhada (não fluxo de trabalho). Você pode usar a palavra-chave InlineScript para executar comandos que não são válidos de outra forma em um fluxo de trabalho e para executar comandos que compartilham dados. Por padrão, os comandos em um bloco de script InlineScript são executados em um processo separado.

Para obter mais informações, consulte about_InlineScript e Executando comandos do Windows PowerShell em um fluxo de trabalho (https://technet.microsoft.com/library/jj574197.aspx).

      Param
      -----

Define os parâmetros em uma função.

Sintaxe:

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

Executa comandos de fluxo de trabalho simultaneamente e em uma ordem indefinida. Essa palavra-chave é válida apenas em um Fluxo de Trabalho do Windows PowerShell.

A palavra-chave Parallel indica um bloco de script Parallel. Os comandos em um bloco de script Parallel podem ser executados ao mesmo tempo e em qualquer ordem. Esse recurso melhora significativamente o desempenho de um fluxo de trabalho.

Sintaxe:

          workflow <verb>-<noun>
          { 
              Parallel
              {
                  <Activity>
                  <Activity>
                  …            
              }
          }

O parâmetro Parallel da palavra-chave ForEach processa os itens em uma coleção em paralelo. As atividades no bloco de script são executadas sequencialmente em cada item, mas o bloco de script pode ser executado em vários itens ao mesmo tempo e os itens são processados em uma ordem indefinida.

Sintaxe:

          workflow <verb>-<noun>
          { 
              ForEach -Parallel (<item> in <collection>)
              {
                  <Activity>
                  <Activity>
                  ...
              }
          }

Para obter mais informações, consulte about_Parallel, about_ForEach-Parallel

      Process
      -------

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave DynamicParam, Begin e End. Quando uma lista de instruções Process recebe entrada do pipeline, a lista de instruções Process é executada uma vez para cada elemento do pipeline. Se o pipeline não fornece nenhum objeto, a lista de instruções Process não é executada. Se o comando é o primeiro comando no pipeline, a lista de instruções Process é executada uma vez.

Sintaxe:

          function <name> { 
              DynamicParam {<statement list>}
              begin {<statement list>}
              process {<statement list>}
              end {<statement list>}
          }
      Return 
      ------

Faz com que o Windows PowerShell saia do escopo atual, como um script ou uma função, e grava a expressão opcional para a saída.

Sintaxe:

          return [<expression>]
      Sequence
      --------

Executa comandos de fluxo de trabalho sequencialmente em um bloco de script Parallel. Essa palavra-chave é válida apenas em um Fluxo de Trabalho do Windows PowerShell.

Sintaxe:

          workflow <verb>-<noun>
          { 
              Parallel
              {
                  Sequence
                  {
                      <Activity>
                  }
              }
          }

A palavra-chave Sequence cria um bloco de sequência dentro de um bloco de script Parallel. Os comandos no bloco de script Sequence são executados sequencialmente e na ordem definida.

Para obter mais informações, consulte about_Sequence

      Switch
      ------

Especifica uma variedade de ações a serem executadas nos itens do pipeline ou de um arquivo. Você pode usar qualquer um dos seguintes modelos de sintaxe.

Sintaxe 1:

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

Sintaxe 2:

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

Gera um objeto como um erro.

Sintaxe:

          throw [<object>]
      Trap 
      ----

Define uma lista de instruções a ser executada se um erro for encontrado. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

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

Define uma lista de instruções a ser verificada quanto a erros enquanto as instruções são executadas. Se ocorrer um erro, o Windows PowerShell continua sendo executado em uma instrução Catch ou Finally. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

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

Usada em uma instrução Do como um constructo de loop em que a lista de instruções é executada pelo menos uma vez.

Sintaxe:

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

Usada em uma instrução Do como um constructo de loop em que a lista de instruções é executada pelo menos uma vez.

Sintaxe:

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

Cria um fluxo de trabalho do Windows PowerShell baseado em script, isto é, um fluxo de trabalho escrito na linguagem do Windows PowerShell.

Um fluxo de trabalho do Windows PowerShell é um tipo de comando do Windows PowerShell que tem suporte pelo Windows PowerShell e Windows Workflow Foundation. Os fluxos de trabalho são projetados para tarefas complexas e demoradas que afetam vários computadores. Os fluxos de trabalho podem ser recuperados se interrompidos, como por uma interrupção de rede, e você pode suspendê-los e retomá-los sem perder o estado ou dados.

Os fluxos de trabalho podem ser gravados em XAML, a linguagem nativa do Windows Workflow Foundation, ou na linguagem do Windows PowerShell.

A sintaxe de um fluxo de trabalho baseado em script é semelhante à sintaxe de uma função. No entanto, a unidade de execução em um fluxo de trabalho é uma atividade em vez de um comando. Cmdlets (e outros comandos) que são usados em fluxos de trabalho baseados em script são implicitamente convertidos em atividades.

Alguns elementos de linguagem que são permitidos em scripts e funções não são permitidos em fluxos de trabalho. Da mesma forma, os fluxos de trabalho podem incluir elementos que não são encontrados em scripts e funções, como "pontos de persistência" (pontos de verificação), autossuspensão e processamento paralelo. Além disso, todos os fluxos de trabalho têm um conjunto de parâmetros comuns que são adicionados pelo Windows PowerShell quando a palavra-chave Workflow é usada.

Sintaxe:

          workflow <Verb-Noun> { 
              param ([type]<$pname1> [, [type]<$pname2>])
              <statement list>
          }

          workflow <verb-noun> 
          {
              [CmdletBinding(<Attributes>)]
               Param
               (
                   [Parameter(<Arguments>)]                   
                   $Param1
               )
              <statement list>
          }

Para obter mais informações sobre fluxos de trabalho, consulte about_Workflows e "Introduzindo o fluxo de trabalho do Windows PowerShell" (https://go.microsoft.com/fwlink/?LinkID=252592) na Biblioteca do TechNet.

CONSULTE TAMBÉM

about_Escape_Characters

about_Special_Characters

about_Wildcards