Revisión de funciones en scripts de Windows PowerShell
Una función es un bloque de código reutilizable. Puede usar funciones para realizar acciones repetitivas dentro de un script en lugar de colocar el mismo código en el script varias veces. Por ejemplo, si tiene un script grande que puede realizar varias acciones, en lugar de colocar código que registra los datos en el disco con cada acción, puede tener una función que registre los datos en el disco. A continuación, se llama a la función de registro cada vez que se realiza una acción. Si desea cambiar esa función de registro con posterioridad, solo es necesario cambiarla en un único lugar.
Cuando se llama a una función, se le pueden pasar datos. Use el bloque Param() para una función de la misma manera que para un script. Después de la declaración de la función, inserte el bloque Param() y las definiciones de las variables que se espera que se pasen a la función. El ejemplo siguiente es una función que usa un bloque Param() para aceptar un nombre de equipo:
Function Get-SecurityEvent {
Param (
[string]$ComputerName
) #end Param
Get-EventLog -LogName Security -ComputerName -$ComputerName -Newest 10
}
Para llamar a la función dentro de un script, use la sintaxis siguiente:
Get-SecurityEvent -ComputerName LON-DC1
En el ejemplo anterior, el valor del parámetro -Computer se pasa a la $ComputerName variable de la función .
A continuación, Get-EventLog consulta los 10 eventos más recientes del registro de seguridad de ese equipo y los muestra en la pantalla. Si desea que esos eventos se coloquen en una variable y estén disponibles para su uso en el resto del script, use la siguiente sintaxis:
$securityEvents = Get-SecurityEvent -ComputerName LON-DC1