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