Todavía hay mucha gente que no tiene bien claro que es PowerShell y para que sirve… es por eso que en este árticulo intentare evacuar esa duda.
Windows PowerShell es una interfaz de consola (CLI) con posibilidad de escritura y conjunción de comandos por medio de guiones (scripts en inglés). Es mucho más rica e interactiva que sus predecesores, desde DOS hasta Windows XP. Esta interfaz de consola está diseñada para su uso por parte de administradores de sistemas, con el propósito de automatizar tareas o realizarlas de forma más controlada. Originalmente designada MONAD en 2003, su nombre oficial cambió al actual cuando fue lanzada al público el 25 de Abril del 2006.
Powershell no sólo permite interactuar con el sistema operativo, si no también con programas de Microsoft como SQL Server, Exchange o IIS. La principal utilidad de Powershell es permitir automatizar tareas administrativas al usuario.
El lenguaje de la consola incluye declaración de variables, variables especiales predefinidas, operadores matemáticos, incluyendo igualdades y desigualdades numéricas, manejo de vectores, comparación entre estos, operadores de asignación, vectores asociativos (hashtables), valores booleanos, ciclos y ruptura de los mismos, operadores de expansión para simplificación de ejecuciones complejas (creación de vectores por medio de llamados a procedimientos, creación dinámica de vectores, etc.); comentarios, operadores de comparación binaria, carácteres de escape, orden de ejecución, ciclos del tipo “foreach”, creación de procedimientos y funciones, creación de filtros, estructuras condicionales complejas (if/then/else/elseif/switch), operador de invocación dinámica del contenido de variables ($p = “MiProceso” –> &$p ejecuta MiProceso), llamado a métodos de tipo “$p.ToUpper()”, acceso a propiedades de instancias de objetos, redirección de salida normal de consola a archivos, retorno de valores, manejo de cadenas de caracteres por medio de operadores, manejo de excepciones y conversión explícita de tipos.
Una de las principales funciones de Powershell es tratar de igualar al famoso lenguaje PERL de UNIX. El cual está considerado versátil, potente y con facilidad para interactuar con el sistema operativo. Exchange server 2007 utiliza Powershell internamente. La tendencia es que todas las aplicaciones tengan su sección visual y una opción para ver el código generado en Powershell.
En Powershell se pueden crear alias al estilo de Unix, es decir, renombrar o nombrar de diferentes maneras a los comandos.
Por ejemplo para mostrar directorios se usa dir, ls, get-children. El programador puede apodar el comando como quiera. Esto facilita trabajar con el entorno de programación.
En fin, si quieren más info, les recomiendo que se den una vuelta por la pagina oficial de Microsoft relacionada con PowerShell:
http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx
y un pantallazo para PowerShell en SQL Server
http://msdn.microsoft.com/es-es/library/cc281954.aspx










