PowerShell – II
April 18th, 2010 by JuanK
Entegas Anteriores:
Parte II – Arquitectura
Modelo Básico

Powershell se compone de 4 elementos fundamentales:
- .Net FrameWork
- Sistema operativo (Windows XP / Vista / Server 2003 / Server 2008)
- CommandLet’s (Cmdlet’s), Data Providers
- PowerShell Host
Desde el punto de vista de desarrollo El .NEt Framework aporta el soporte para CLR 2.0 y junto con el todos los beneficios de el desarrollo sobre esta plataforma.
El sistema operativo es desde luego provee a PowerShell de las API’s necesarias para interactuar con las características del sistema como: archivos, registro, dispositivo, usuarios etc.
LLos Cmdlet’s, como veremos más adelante, son una parte fundamental de PowerShell que esencialmente brindan una interfaz unificada de programación para hacer uso de las características de scripting a través del pipeline processor.
Finalmente encontramos el PowerShell Host, por defecto es una consola de comandos de texto, pero no es una restricción, en los últimos capítulos que traten el tema de PowerShell veremos como podemos hostear tanto la interfaz de entrada de scripts, como la interfaz de resultados en aplicaciones independientes con interfaces gráficas web o de aplicaciones de windows.
Modelo Funcional

El gráfico se debe revisar de abajo hacia arriba, en un primer nivel tenemos al sistema operativo, quien brinda las API’s necesarias para la ejecución e interacción de PowerShell, sobre el sistema operativo tenemos el CLR que en adelante brinda sus servicios a PowerShell, estos servicios son un entorno de ejecución con administración de memoria, aislamiento de dominios de aplicación, etc.
Sin embargo para que el CLR sea realmente útil se requiere una serie de interfaces de adquisición de datos: los PowerShell Providers. Estos Providers se encargan de enviar a los diferentes CmdLets instalados en PowerShell la información solicitada, es decir son fuentes de datos que bien pueden devolver un conjunto de llaves de registro, un listado de archivos, registros de un base de datos, los procesos en ejecución etc etc.
Una vez los datos son accedidos por los Providers esos envían o reciben información de los CmdLet’s, un CmdLet por si solo solo puede realizar un conjunto de tareas limitado, por ejemplo consultar los procesos en ejecución, y otro CmdLet puede por ejemplo ordenar un arreglo según un criterio de ordenamiento. El verdadero poder de los CmdLet esta en la capacidad que tienen para hacer que el resultado de uno de ellos sirva como fuente de datos a otro CmdLet y a su vez el resultado de este CmdLet sirva como entrada a otro más… y así puede funcionar de manera ilimitada, dicha interacción entre CmdLet’s se lleva a acabo gracias a otra parte fundamental de PowerShell : El Pipeline Processor.
El PipeLine Processor tiene una función sencilla, pero crítica para que la magia comience a surtir efecto, el el encargado de hacer que la información fluya entre CmdLet’s, el que recibe los datos de entrada desde el host de comandos y el que envia el resultado final al host de salido. El PipeLine Processor es el hilo conductor que hace que muchos componentes logren ser PowerShell .
En el gráfico podemos observar como en el nivel más superior se encuentran los comandos, cada comando se separa de otro a través de un | (un pipe) este pipe representa el Pipeline Processor por lo cual podemos visualizar como cada un comando envía su información al pipeline y este redirecciona su salida al comando siguiente y así sucesivamete hasta que tras el último comando envía el resultado final al host de salida.
Ahora que ya esta clara la arquitectura, es hora de comenzar con la acción… Próximas entregas:
- Parte III – PowerShell para IT’s
- Parte IV – PowerShell para Developers
Hasta la próxima.
- 6 Comentarios »
- Publicado en la categoría 'PowerShell'

Wordpress
6 comentarios to “PowerShell – II ”
April 7th, 2008 at 10:09 am
Muy buenos!!!
April 7th, 2008 at 2:15 pm
Juan Carlos,
De nuevo un excelente aporte al conocimiento. Pero esta estuvo muy teórica, nos faltó tu acostumbrado ejemplillo para motivar
.
April 7th, 2008 at 2:28 pm
No te preocupes, las 2 entregas que faltan son solo práctica y de la buena… saludos.
April 14th, 2008 at 8:34 am
Pregunta, más o menos en que fechas piensas publicar las próximas entregas?
April 14th, 2008 at 2:35 pm
1 mas hoy o en en el transcurso de esta semana. Es que estoy preparando el evento del dia miércoles :S
Saludos,
April 24th, 2008 at 4:08 pm
[...] Parte II – Arquitectura [...]