Desarrollar Scripts en PowerShell ISE (Integrated Scripting Enviroment)

Windows Técnico

Sindicación

Proximos HOLs

Loading...

Recordamos que PowerShell ISE es un entorno de desarrollo de Scripts que Microsoft ha incluido en Windows 7. Gracias a este entorno podemos desarrollar Scripts y ejecutarlos todo en la misma aplicación y de una manera gráfica. Todo ello ofrece al usuario final un entorno más atractivo que la clásica línea de comandos.

Hoy hablaremos del desarrollo de los Scripts y como poder habilitar/deshabilitar la ejecución de éstos. Los Scripts son conjuntos de órdenes que se ejecutarán secuencialmente y que nos ayudan a automatizar tareas. Hay que tener en cuenta que la ejecución de un Script es como la de un programa por lo que puede ser igual de destructivo. Por ello Windows 7 presenta por defecto deshabilitada la posibilidad de ejecución de éstos, tanto en la máquina local como en remoto. Más adelante en este mismo post hablaremos de cómo habilitar y deshabilitar la directiva de ejecución de los Scripts.

En primer lugar, abrimos PowerShell ISE del siguiente modo:

Inicio > Accesorios > PowerShell > PowerShell ISE

O bien,

Inicio > “PowerShell ISE”

Una vez realizado esto podemos ver que se arranca el entorno y observaremos una pantalla como la presentada en la siguiente figura:

image

Bien, en un post anterior que escribí sobre PowerShell ISE expliqué cual era la función de cada parte del entorno. Hoy nos centraremos en la parte superior, la parte cuya funcionalidad es la edición del Script.

Después de escribir el Script, disponemos de varias opciones:

1. Almacenar el Script en un fichero con extensión *.ps1

2. Ejecutar/Detener el Script.

3. Iniciar PowerShell ó ejecutar el Script en el entorno.

4. Ejecutar parte del Script. Función que es interesante para ir probando las distintas acciones que puede realizar nuestro Script.

En el ejemplo que ahora aportamos creamos un Script cuyo propósito es borrar todos los archivos de una carpeta que le suministramos como parámetro.

image

 

Antes de poder ejecutar el script tenemos que habilitar la directiva de ejecución de éstos. Para ello seguimos los siguientes pasos:

1. Abrir una consola de PowerShell o PowerShell ISE en modo Administrador.

2. Consultar el siguiente comando “Get-ExecutionPolicy”. Veremos en qué estado tenemos la directiva. Por defecto sale Restricted, esto quiere decir que no podemos ejecutar ningún Script, ni de Internet ni de la máquina local.

3. Ejecutar el siguiente comando “Set-ExecutionPolicy <valor>”. Dónde valor pondremos RemoteSigned. Esto quiere decir que podremos ejecutar los Scripts locales pero no los remotos.

 

image

image

Ahora ya podemos ejecutar los scripts en nuestra máquina local. Pinchando sobre el botón de ejecución nuestro Script será suficiente. Yo lo probaré en la consola de PowerShell debido a que le pasamos parámetro de entrada, que será el directorio que queremos borrar, ya sea en ruta relativa o ruta absoluta.

image

Otra opción interesante en la edición de Scripts fue la comentada anteriormente, ejecución parcial del Script. Como vemos en la imagen podemos seleccionar una orden y ejecutarla parcialmente.

image image

Finalizo con esto esta entrada que espero os haya suministrado alguna información interesante. Seguiré aportando contenidos técnicos sobre PowerShell y esta interesante herramienta de trabajo de Microsoft.


Enviado ene 18 2010, 09:27 por Pablo González

Comentarios

Xavier escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 04-21-2010 22:47

Hola

te comento que estoy haciendo los pasos que tu indicas pero no me permite, me aparece el mensaje ""

Set-ExecutionPolicy : Se denegó el acceso a la clave de Registro 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\Sh

ellIds\Microsoft.PowerShell'.

En línea: 1 Carácter: 20

+ Set-ExecutionPolicy <<<<

   + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException

   + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma

  nd  ""

Tengo el win7 Ultimate de 32bits

Ayudame sip, GRACIAS

Pablo González escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 04-22-2010 15:56

Hola Xavier,

según me comentas puede ser que la powershell no la estés abriendo como administrador, en otro post

www.windowstecnico.com/.../activar-cuenta-administrador-windows-7.aspx

comento las diferencias entre las cuentas con permiso de administración y la cuenta de administración. Te recomiendo que pruebas a abrir una powerShell como si fueras admin, esto es posible de la siguiente momento:

Abre una powershell... y luego botón derecho sobre el icono de la barra de powershell y pinchas en "Ejecutar como Administrador"

Creo que de esta manera siguiendo lo que pone el post te debería dejar, si sigue sin funcionar, comentamelo ;)

Saludos!

Freddy Encinas Manjòn escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 04-28-2010 6:55

Pablo González - El error se debe a que no estas ingresando a powershell como ADMINISTRATOR. Debes darle click derecho al icono y selecionar Run as Administrator corres la sentencia y listo! :)

Mi correo es encinasfreddy@hotmail.com

FreddyCesar escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 09-22-2011 17:55

Hola buenos dias,

Muchas gracias por los aportes

FreddyCesar escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 09-22-2011 17:55

Hola buenos dias,

Muchas gracias por los aportes

ricckis escrito re: Desarrollo de Scripts en PowerShell ISE (Integrated Scripting Enviroment)
en 09-30-2011 3:23

creo que del primero su pregunta okiss creo k me dijistes k no tenias el ultimate y por ko no te pones okiss por k yo creo por mi pareser no funciona con un xp por que pòwershell es una herramienta de windows 7 okis ponte no kuesta tanto pero el crack nana mas el original ta carito jajajxd

Añadir un comentario

(requerido)  
(opcional)
(requerido)  
Recordarme
If you can't read this number refresh your screen
Enter the numbers above: