Você está na página 1de 3

TEMA

about_Script_Blocks
DESCRIPCIN BREVE
Define lo que es un bloque de script y explica cmo usar los bloques
de script en el lenguaje de programacin de Windows PowerShell.
DESCRIPCIN DETALLADA
En el lenguaje de programacin de Windows PowerShell, un bloque
de script es una coleccin de instrucciones o expresiones que se
pueden usar como una sola unidad. Un bloque de script puede aceptar
argumentos y valores devueltos.
Sintcticamente, un bloque de script es una lista de instrucciones
entre llaves, tal y como se muestra en la sintaxis siguiente:
{<lista de instrucciones>}
Un bloque de script devuelve el resultado de todos los comandos
del bloque de script como un solo objeto o como una matriz.
Al igual que las funciones, un bloque de script puede incluir
parmetros. Use la palabra clave Param para asignar parmetros
con nombre, tal y como se indica en la sintaxis siguiente:
{
param ([tipo]$parameter1 [,[tipo]$parameter2])
<lista de instrucciones>
}
En un bloque de script, a diferencia de las funciones, no se pueden
especificar parmetros fuera de las llaves.
Al igual que las funciones, los bloques de script pueden incluir las
palabras clave DynamicParam, Begin, Process y End. Para obtener ms
informacin, vea about_Functions y about_Functions_Advanced.
Usar bloques de script
Un bloque de script es una instancia de un tipo de Microsoft .NET
Framework (System.Management.Automation.ScriptBlock). Los comandos
pueden tener valores de parmetro de bloque de script. Por ejemplo,
el cmdlet Invoke-Command tiene un parmetro ScriptBlock que toma un
valor de bloque de script, tal y como se muestra en este ejemplo:
C:\PS> invoke-command -scriptblock { get-process }
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------









-----------
999 28 39100 45020 262 15.88 1844 communicator
721 28 32696 36536 222 20.84 4028 explorer
. . .
El bloque de script que se usa como valor puede ser ms
complicado, tal y como se muestra en el ejemplo siguiente:
C:\PS> invoke-command -scriptblock { param ($uu = "Parmetro");
"$uu asignado." }
Parmetro asignado.
El bloque de script en el ejemplo anterior usa la palabra clave
Param para crear un parmetro con un valor predeterminado. En
el ejemplo siguiente se utiliza el parmetro Args del cmdlet Invoke-
Command para asignar otro valor al parmetro:
C:\PS> invoke-command -scriptblock {param ($uu = "Parmetro");
"$uu asignado."} -args "Otro valor"
Otro valor asignado.
Se puede asignar un bloque de script a una variable, tal y como
se muestra en el ejemplo siguiente:
C:\PS> $a = {param ($uu = "Parmetro"); "$uu asignado."}
Se puede usar la variable con un cmdlet como Invoke-Command,
tal y como se indica en el ejemplo siguiente:
C:\PS> invoke-command -scriptblock $a -args "Otro valor"
Otro valor asignado.
Se puede ejecutar un bloque de script asignado a una variable
mediante el operador de llamada (&), tal y como se muestra en
el ejemplo siguiente:
C:\PS> &$a
Parmetro asignado.
Asimismo, se puede proporcionar un parmetro al bloque de
script, tal y como se muestra en el ejemplo siguiente:
C:\PS> &$a "Otro valor"
Otro valor asignado.
Si desea asignar a una variable el valor creado por un bloque
de script, use el operador de llamada para ejecutar directamente
el bloque de script, tal y como se muestra en el ejemplo siguiente:
C:\PS> $a = &{param ($uu = "Parmetro"); "$uu asignado."}
C:\PS> $a
Parmetro asignado.
Para obtener ms informacin sobre el operador de llamada, vea about_Operators
.
VEA TAMBIN
about_Functions
about_Functions_Advanced
about_Operators

Você também pode gostar