about_Language_Keywords
Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0
TEMA
about_Language_Keywords
DESCRIPCIÓN BREVE
Describe las palabras clave del lenguaje de scripting de Windows PowerShell®.
DESCRIPCIÓN LARGA
Windows PowerShell tiene las siguientes palabras clave de lenguaje. Para más información, consulte el tema About de la palabra clave y la información que sigue a la tabla.
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
PALABRAS CLAVE DE LENGUAJE
Begin
-----
Especifica una parte del cuerpo de una función, junto con las palabras clave DynamicParam, Process y End. La lista de instrucciones Begin se ejecuta una vez antes de que se reciban los objetos de la canalización.
Sintaxis:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Break
-----
Hace que un script salga de un bucle.
Sintaxis:
while (<condition>) {
<statements>
...
break
...
<statements>
}
Catch
-----
Especifica la lista de instrucciones que se debe ejecutar si se produce un error en la lista de instrucciones Try que la acompaña. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
try {<statement list>}
catch [[<error type>]] {<statement list>}
Continue
--------
Hace que un script deje de ejecutar un bucle y vuelva a la condición. Si se cumple la condición, el script comienza el bucle de nuevo.
Sintaxis:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
Data
----
En un script, define una sección que aísla los datos de la lógica del script. También puede incluir instrucciones If y algunos comandos limitados.
Sintaxis:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
Do
--
Se usa con la palabra clave While o Until, como construcción de bucle. Windows PowerShell ejecuta la lista de instrucciones al menos una vez, a diferencia de los bucles que usan While.
Sintaxis:
do {<statement list>} while (<condition>)
do {<statement list>} until (<condition>)
DynamicParam
------------
Especifica una parte del cuerpo de una función, junto con las palabras clave Begin, Process y End. Los parámetros dinámicos se agregan en el tiempo de ejecución.
Sintaxis:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Else
----
Se usa con la palabra clave If para especificar la lista de instrucciones predeterminada.
Sintaxis:
if (<condition>) {<statement list>}
else {<statement list>}
Elseif
------
Se usa con las palabras clave If y Else para especificar condiciones adicionales. La palabra clave Else es opcional.
Sintaxis:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
End
---
Especifica una parte del cuerpo de una función, junto con las palabras clave DynamicParam, Begin y End. La lista de instrucciones End se ejecuta una vez después de la recepción de todos los objetos de la canalización.
Sintaxis:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Exit
----
Hace que Windows PowerShell salga de un script o una instancia de Windows PowerShell.
Si ejecuta "powershell.exe –File <ruta a un script>", solo puede establecer la variable %ERRORLEVEL% en un valor distinto de cero utilizando la instrucción exit. En el ejemplo siguiente, el usuario establece el valor de la variable de nivel de error en 4 escribiendo "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
Si usa powershell.exe con el parámetro File, el propio archivo .ps1 (script) debe incluir instrucciones para tratar los errores o excepciones que se produzcan mientras se ejecuta el script. Solo debe usar la instrucción exit para indicar el estado posterior a la ejecución del script.
Sintaxis:
exit
exit <exit code>
Filter
------
Especifica una función en la que la lista de instrucciones se ejecuta una vez para cada objeto de entrada. Tiene el mismo efecto que una función que contenga solo un bloque Process.
Sintaxis:
filter <name> {<statement list>}
Finally
-------
Define una lista de instrucciones que se ejecuta después de instrucciones asociadas con Try y Catch. Una lista de instrucciones Finally se ejecuta incluso aunque pulse CTRL+C para salir de un script o use la palabra clave Exit en el script.
Sintaxis:
try {<statement list>}
catch [<error type] {<statement list>}
finally {<statement list>}
For
---
Define un bucle usando una condición.
Sintaxis:
for (<initialize>; <condition>; <iterate>) {<statement list>}
ForEach
-------
Define un bucle usando todos los miembros de una colección.
Sintaxis:
ForEach (<item> in <collection>){<statement list>}
From
-----
Reservado para uso futuro.
Function
--------
Crea una lista de instrucciones con nombre de código reutilizable. Puede asignar un nombre al ámbito al que pertenece una función. Puede especificar uno o varios parámetros con nombre mediante la palabra clave Param. Dentro de la lista de instrucciones de la función puede incluir las listas de instrucciones DynamicParam, Begin, Process y End.
Sintaxis:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
También puede definir uno o más parámetros fuera de la lista de instrucciones después del nombre de función.
Sintaxis:
function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
If
--
Define una instrucción condicional.
Sintaxis:
if (<condition>) {<statement list>}
In
--
Se usa en una instrucción ForEach para crear un bucle que usa todos los miembros de una colección.
Sintaxis:
ForEach (<item> in <collection>){<statement list>}
InlineScript
------------
Ejecuta comandos de flujo de trabajo en una sesión de Windows PowerShell compartida. Esta palabra clave solo es válida en un flujo de trabajo de Windows PowerShell.
Sintaxis:
workflow <verb>-<noun>
{
InlineScript
{
<Command/Expression>
...
}
}
La palabra clave InlineScript indica una actividad InlineScript, que ejecuta comandos en una sesión compartida estándar (sin flujo de trabajo). Puede usar la palabra clave InlineScript para ejecutar comandos que, de lo contrario, no serían válidos en un flujo de trabajo y para ejecutar comandos que comparten datos. De forma predeterminada, los comandos de un bloque de script InlineScript se ejecutan en un proceso independiente.
Para más información, consulte about_InlineScript y Ejecutar comandos de Windows PowerShell en un flujo de trabajo (https://technet.microsoft.com/library/jj574197.aspx).
Param
-----
Define los parámetros en una función.
Sintaxis:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
Parallel
--------
Ejecuta comandos de flujo de trabajo simultáneamente y en un orden no definido. Esta palabra clave solo es válida en un flujo de trabajo de Windows PowerShell.
La palabra clave Parallel indica un bloque de script Parallel. Los comandos de un bloque de script Parallel se pueden ejecutar al mismo tiempo y en cualquier orden. Esta característica mejora considerablemente el rendimiento de un flujo de trabajo.
Sintaxis:
workflow <verb>-<noun>
{
Parallel
{
<Activity>
<Activity>
…
}
}
El parámetro Parallel de la palabra clave ForEach procesa los elementos de una colección en paralelo. Las actividades en el bloque de script se ejecutan secuencialmente en cada elemento, pero el bloque de script se puede ejecutar en varios elementos al mismo tiempo y los elementos se procesan en un orden indefinido.
Sintaxis:
workflow <verb>-<noun>
{
ForEach -Parallel (<item> in <collection>)
{
<Activity>
<Activity>
...
}
}
Para más información, consulte about_Parallel y about_ForEach-Parallel.
Process
-------
Especifica una parte del cuerpo de una función, junto con las palabras clave DynamicParam, Begin y End. Cuando una lista de instrucciones Process recibe la entrada de la canalización, la lista de instrucciones Process se ejecuta una vez por cada elemento de la canalización. Si la canalización no ofrece ningún objeto, la lista de instrucciones Process no se ejecuta. Si el comando es el primer comando en la canalización, la lista de instrucciones Process ejecuta una vez.
Sintaxis:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Return
------
Hace que Windows PowerShell salga del ámbito actual, como un script o una función, y escribe la expresión opcional en la salida.
Sintaxis:
return [<expression>]
Sequence
--------
Ejecuta comandos de flujo de trabajo de forma secuencial en un bloque de script Parallel. Esta palabra clave solo es válida en un flujo de trabajo de Windows PowerShell.
Sintaxis:
workflow <verb>-<noun>
{
Parallel
{
Sequence
{
<Activity>
}
}
}
La palabra clave Sequence crea un bloque de secuencia dentro de un bloque de script Parallel. Los comandos del bloque de script Sequence se ejecutan secuencialmente y en el orden definido.
Para más información, consulte about_Sequence.
Switch
------
Especifica una variedad de acciones que se deben realizar en los elementos de la canalización o de un archivo. Puede usar cualquiera de los siguientes modelos de sintaxis.
Sintaxis 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( pipeline )
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Sintaxis 2:
switch [-regex|-wildcard|-exact][-casesensitive] -file filename
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Throw
-----
Produce un objeto como un error.
Sintaxis:
throw [<object>]
Trap
----
Define una lista de instrucciones que se debe ejecutar cuando se produce un error. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
trap [[<error type>]] {<statement list>}
Try
---
Define una lista de instrucciones para buscar errores mientras se ejecutan las instrucciones. Si se produce un error, Windows PowerShell continúa ejecutándose en una instrucción Catch o Finally. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
try {<statement list>}
catch [[<error type]] {<statement list>}
finally {<statement list>}
Until
-----
Se usa en una instrucción Do como una construcción de bucle en la que la lista de instrucciones se ejecuta al menos una vez.
Sintaxis:
do {<statement list>} until (<condition>)
While
-----
Se usa en una instrucción Do como una construcción de bucle en la que la lista de instrucciones se ejecuta al menos una vez.
Sintaxis:
do {<statement list>} while (<condition>)
Workflow
--------
Crea un flujo de trabajo de Windows PowerShell basado en scripts, es decir, un flujo de trabajo escrito en el lenguaje de Windows PowerShell.
Un flujo de trabajo de Windows PowerShell es un tipo de comando de Windows PowerShell admitido por Windows PowerShell y Windows Workflow Foundation. Los flujos de trabajo están diseñados para las tareas complejas y de larga ejecución que afectan a varios equipos. Los flujos de trabajo se pueden recuperar si se interrumpen, por ejemplo, a causa de un fallo en la red, y se pueden suspender y reanudar sin perder el estado ni los datos.
Los flujos de trabajo pueden escribirse en XAML, el lenguaje nativo de Windows Workflow Foundation, o en el lenguaje de Windows PowerShell.
La sintaxis de un flujo de trabajo basado en scripts es similar a la sintaxis de una función. Sin embargo, la unidad de ejecución de un flujo de trabajo es una actividad, en lugar de un comando. Los cmdlets (y otros comandos) que se usan en los flujos de trabajo basados en scripts se convierten implícitamente en actividades.
Algunos elementos del lenguaje que sí se permiten en los scripts, además de algunas funciones no están permitidos en los flujos de trabajo. De forma similar, los flujos de trabajo pueden incluir elementos que no se encuentran en scripts y funciones, como "puntos de persistencia" (puntos de control), suspensión automática y procesamiento en paralelo. Además, todos los flujos de trabajo tienen un conjunto de parámetros comunes que Windows PowerShell agrega cuando se usa la palabra clave Workflow.
Sintaxis:
workflow <Verb-Noun> {
param ([type]<$pname1> [, [type]<$pname2>])
<statement list>
}
workflow <verb-noun>
{
[CmdletBinding(<Attributes>)]
Param
(
[Parameter(<Arguments>)]
$Param1
)
<statement list>
}
Para más información sobre los flujos de trabajo, consulte about_Workflows e "Introducción al flujo de trabajo de Windows PowerShell" (https://go.microsoft.com/fwlink/?LinkID=252592) en la biblioteca de TechNet.
VEA TAMBIÉN
about_Escape_Characters
about_Special_Characters
about_Wildcards