En el anterior artículo se presentaba el nuevo PowerShell ISE con el que los administradores de sistemas pueden automatizar tareas y realizar pruebas de depuración. Actualmente los scripts son utilizados no solo por su creador por lo que se deben de realizar con ciertas normas de estilo.
En el presente artículo se especifican los conceptos básicos para realizar scripts en PowerShell. Además, se propone un ejemplo básico con el que los administradores se pueden acomodar a esta nueva versión de la línea de comandos de Microsoft.
El primer concepto que se va a presentar es el de variable. Una variable es una porción de memoria en el cual se almacenará un valor. En PowerShell, ya que por debajo utiliza .NET Framework, una variable puede disponer de tipos, pero no tiene porqué ser declarada como tal. Hay que recordar, como se ha mencionado en otros posts, que todo en PowerShell son objetos, al contrario que en otras shell clásicas que trataban todo como cadenas de texto. Este hecho dota a PowerShell de flexibilidad y potencia, gracias a la riqueza semántica que una shell de objetos proporciona al administrador.
Las variables se especifican de la siguiente manera:
$variable = <valor>
Se puede especificar el tipo de la variable del siguiente modo:
[<tipo>] $variable = <valor>
Para poder visualizar el valor de la variable se puede escribir directamente en la línea de comandos o el script la variable $variable.

Figura 1: Declaración de variables
Existen otros tipos de variables como son las proporcionadas por PowerShell en el lanzamiento de un script. De esta manera se puede saber, por ejemplo, el número de argumentos y el valor de éstos que son pasados en la ejecución del script. Durante dicha ejecución, el desarrollador del script dispone de estos argumentos para su uso, y generalmente para definir el comportamiento del script.
Las variables más comunes para ser utilizadas en la ejecución de un script son las siguientes:
-
$Args. Esta variable almacena un array con la lista de los argumentos que son pasados al script o a una función.
-
$?. Esta variable indica si la ejecución de la última instrucción fue correcta o no.
-
$Args.count. Count es un método del objeto $Args, con el que se puede saber cuandos argumentos han sido pasados al script o a la función.
-
$Error. Esta variable registra los errores durante la ejecución del script.
-
$Pid. Contiene el identificador del proceso de la sesión de PowerShell.
Antes de crear un sencillo script dónde poder visualizar estas variables así como ver como definirlas e interactuar con ellas, se debe tener claro las políticas de ejecución existentes en PowerShell 3.0. Por defecto, la política de ejecución restricted evita la ejecución de cualquier script de PowerShell. Se puede cambiar mediante el cdmlet Set-ExecutionPolicy <política>, por ejemplo, si se quiere poder ejecutar los scripts realizados en local y que los creados en otras máquinas tengan que estar firmados, la política adecuada es remotesigned. Por el contrario, se puede desear que todos los scripts se encuentren firmados, entonces la política sería allsigned. Algo no recomendado es utilizar la política unrestricted, con la que se podrá ejecutar todo script, tanto local como creado en otra máquina.
En el siguiente script se puede visualizar el uso de las variables y la interacción con ellas. El código es el siguiente:

Figura 2: Script ejemplo para uso de variables
La ejecución de este script devuelve la siguiente salida por pantalla:

Figura 3: Salida del script
En siguientes artículos se estudiarán buenas prácticas, normas de estilo y usos de estructuras de control en PowerShell. También, se realizarán ejemplos sencillos de uso para ir creando scripts cada vez más interesantes para los administradores y los posibles usos que ellos puedan darle a la línea de comandos de Microsoft.
Si quieres aprender más secretos, configuraciones, integraciones, desarrollo de PowerShell te recomendamos leer el libro de Pablo González y Ruben Alonso “PowerShell: La navaja suiza de los administradores de sistemas”. Si quieres aprender mucho más sobre los secretos de lo sistemas Microsoft Windows, te recomendamos leer el libro de Sergio de los Santos “Máxima Seguridad en Windows: Secretos Técnicos” y, por último, te recordamos que si te ha gustado el artículo puedes suscribirte al Canal RSS de Windows Técnico para estar al día de las novedades e información técnica de interés.
[ACTUALIZADO]: Descárgate la versión de evaluación final de Windows Server 2012 y comprueba todas las novedades del nuevo sistema operativo Servidor de Microsoft.

Enviado
ago 07 2012, 10:52
por
Pablo González