Comenzaremos este primer artículo introductorio de PowerShell, detallando algunos conceptos claves de PowerShell:

PowerShell está basado en objetos y no es basado en texto

A aquellos administradores que no hayan usando jamás VBScript, o sea los que usan cmd.exe y archivos de procesamiento por lotes (*.bat), les tomará mas tiempo entender este concepto, pero aquellos que ya hayan usando VBScript o conozcan algún lenguaje de programación orientado a objetos ya sabrán de que hablamos. La diferencia básica, es que la salida de una ventana de comando tradicional se basa en texto, mientras que la salida de PowerShell, si bien aparenta ser texto, en realidad no lo es, ya que verdaderamente es un objeto. Esto es poderoso porque la salida de un comando PowerShell (que es un objeto), puede ser introducido en otro comando sin programación adicional. Esto se conoce como "canalizar" un comando en otro. Con scripting tradicional (VBScript), si quería usar la salida de un comando en otro comando, se requería adicional programación para manipular los datos en un formato que el segundo comando pudiera comprender. Pero... ¿qué es un objeto? Esto seguramente le es familiar a un desarrollador, pero tambien un administrador de Windows, ya ha trabajado con este concepto anteriormente, por ejemplo con Active Directory, ya que en un dominio de Active Directory todo es un objeto: Servidores, Computadoras, Impresoras, Shares, Unidades Organizacionales, Grupos de Seguridad, objetos de "Group Policy", Usuarios, etc... Con PowerShell podremos interactuar directamente con estos objetos para enumerar información (propiedades de los objetos) y/o crear, modificar, o borrar objetos y/o propiedades y métodos de los objetos.

Los comandos PowerShell se pueden personalizar

Los comandos de PowerShell se denominan cmdlets. Con la instalación de PowerShell usted tiene disponibles mas de un centenar de cmdlets, además muchos de estos cmdlets tienen alias que los permiten usar como si fueran los comandos tradicionales a los que ya estamos acostumbrados (dir, cd, del, copiar, etc ...). PowerShell permite crear nuestros propios alias, así como la creación de nuestros propios cmdlets.

PowerShell es un intérprete de línea de comandos y un entorno de programación:

Resumiendo, tenemos lo mejor de ambos mucnos dentro de PowerShell. DOS fue un intérprete de linea de comandos, escribíamos el comando, pulsábamos <Enter> y obteníamos el resultado. Claro, usted también podia usar un archivo de procesamiento por lotes (*.bat), pero en realidad lo único que hacia un archivo de este tipo era entrar los comandos por usted. VBScript utiliza WSH (Windows Scripting Host); no podemos entrar código VBScript directamente en una ventana de comando. Con PowerShell no sólo puede entrar comandos, sino que tambien puede construir sus bloques de script en la consola de PowerShell

 

 

 

Ventana de Consola de PowerShell

Veamos en acción la ventana de Consola de PowerShell. vayamos a Inicio -> Todos los Programas -> Accesorios -> Windows PowerShell -> Windows PowerShell -> Windows PowerShell. También podemos lanzar PowerShell desde una ventana de comando o en Inicio -> run, simplemente escribiendo powershell.

 

Figura 1 - La ventana de consola de PowerShell.

Como vemos en la figura 1, el command prompt de la consola de PowerShell apunta a PS C:\Users\Administrator> PS significa que estamos corriendo PowerShell y "C:\Users\Administrator" es el path actual. Por supuesto, en su sistema esto puede ser diferente.

Configurando la ventana de consola de PowerShell

Ejercicio 1: Personalizar un acceso directo que apunte a un directorio específico

Como vimos recién, mi prompt apunta a C:\Users\Administrator. Es una buena práctica organizar todos los scripts de PowerShell en una localización que se pueda accesar rápidamente. En este ejercicio configuraremos la consola de PowerShell para que abra en un directorio llamado "MisScriptsPS". Pasos a seguir:

 

  1. Creamos el directorio: "C:\MisScriptsPS".
  2. Creamos un acceso directo a PowerShell en el escritorio.
  3. Hacemos clic k derecho en el acceso directo recién creado y seleccionamos Propiedades.
  4. Bajo la ficha Acceso directo localizamos la caja de texto "Empezar en:", y escribimos "C:\MisScriptsPS"
  5. Hacemos click en Aceptar.
  6. Arrancamos PowerShell desde el acceso directo del escritorio. PowerShell Comenzará en el directorio que nosotros elegimos, como vemso en la figura 2:
Figura 2 - Ahora el prompt de la consola de PowerShell apunta al directorio que creamos.

 

 

 

 

 

 

 


Siéntase libre de elegir el nombre que usted quiera para este directorio. Si elige una ruta que tenga un espacio dentro de ella, no olvide encerrarlo entre comillas dobles. Ejemplo: "C:\Mis Scripts de PowerShell". En todos nuestros artículos estaremos usando "C:\MisScriptsPS.

 

 


Ejercicio 2: Personalizando el color y el tamaño del texto

: Como vemos en la figura 2, nuestra consola, es negra con letras blancas. Vamos a cambiar nuestro acceso directo, para que al arrancar PowerShell, tenga color de fondo azul oscuro y texto amarillo. Pasos a seguir:

 

 

 

 

 

 

 

  1. hacemos click derecho en nuestro acceso directo y elegimos Propiedades.
  2. Elegimos la ficha Colores.
  3. Verá cuatro radio buttons:
    • Texto en pantalla
    • Fondo de pantalla
    • Texto emergente
    • Fondo emergente
    Los botones de radio de pantalla se explican a si mismo; los botones de radio emergentes son para los colores usados en el Buffer de historial.
  4. Establecemos texto en pantalla a amarillo y fondo de pantalla a azul.
  5. Arrancamos PowerShell desde el acceso directo del escritorio. PowerShell corre con los colores que elegimos, como vemso en la figura 3:
Figura 3 - Ya hemos configurado la consola de PowerShell con los colores elegidos.


Ahora voy a agrandar el tamaño del texto para que sea mas fácil su lectura:

  1. Cierre la consola PowerShell escribiendo "exit".
  2. Haga click derecho en el acceso directo PowerShell y elija Propiedades.
  3. En la ficha Fuentes, elija 12 x 16. Pulse Aceptar.
  4. Lance PowerShell desde el acceso directo.
  5. Usted debe ver lo que se muestra en la figura 4:
    Figura 4 - La consola de PowerShell mostrando el texto más grande.

    Tómese el tiempo para ver todas las opciones y personalice la consola según sus preferencias. Si quiere volver al tamaño de texto original, recuerde que este es: 8 x 12. También puede cambiar las propiedades haciendo click en el ícono de PowerShell en la esquina superior izquierda de la ventana de la consola.

    Ejercio 3: Familiarizándonos con las características de edición de la consola de PowerShell

    : Primero, entre los siguientes comandos en el command prompt. (Para este ejercicio, no es importante saber por ahora, que hace cada comando): get-acl <enter> get-alias <enter> get-command <enter> get-date <enter> Localice y pulse las teclas que se detallan abajo y vea lo que ocurre:
    • Page Up – Salta al primer comando en el buffer de historial.
    • Page Down – Salta al último comando en el buffer de historial.
    • Up Arrow – regresa un comando en el historial.
    • Down Arrow – avanza un comando en el historial.
    • Home – Salta al pricipio del texto de la línea de comando.
    • End – Salta al final del texto de la línea de comando.
    • Ctrl+LeftArrow – va a la izquierda, una palabra por vez.
    • Ctrl+RightArrow – va a la izquierda, una palabra por vez.
    • Tab – Completa la entrada (por ejemplo, en la consola escriba get-c y presione tab, y siga presionando tab…).
    • F7 – Muestra el historial (use las teclas flecha arriba y flecha abajo para navegar el historial).
    Con esto finalizamos nuestro primer artículo de PowerShell... Mas adelante veremos más acerca de este poderoso shell para Windows.
    respag
    Panamá - © 2012
Haga su donación para colaborar con La Escuela del Programador

La Escuela del Programador es un sitio web sin anuncios, sin ánimo de lucro, no es un sitio web comercial. Es el sueño de compartir con todos, muchos años de una gran pasión. Si realmente encuentra este sitio útil y lo aprovecha, le pido su generosa y no importa cuán modesta colaboración, simplemente para afrontar los costos de mantener este sitio disponible en internet.
No deseo lucrar con este sitio, ya que lo hago desinteresadamente, sólo le pido que, si puede, aporte (desde un dólar hasta lo que crea que puede dar), para afrontar los costos de dominio y hosting. Muchísimas gracias y ojalá juntos podamos hacer un sitio que sea una buena fuente de aprendizaje de programacíon en español.

Si no se siente en condiciones de colaborar, igualmente será bienvenido al sitio, es libre para todos y será un placer que encuentre mis artículos provechosos, pero si realmente me ayuda con una donación minima, seguramente, colaborará para que La Escuela del Programador se mantenga en la Web y crezca, conviertiendo a este sitio hecho con mucha pasión, dedicación y esfuerzo, en una buena fuente de aprendizaje.

Mis saludos cordiales y gracias por interesarse en mi sitio.

Rubén E. Spagnuolo
respag
Panamá - © 2012