Novedades en PowerShell para Windows 7 - II de II

Windows Técnico

Sindicación

Proximos HOLs

Loading...

En la entrada anterior, Novedades en PowerShell para Windows 7 – I de II, os enseñábamos algunas de las novedades incluidas en PowerShell sobre plataformas Windows.. Hoy terminamos de comentar las principales novedades al respecto de PowerShell, las cuales se encuentran disponibles a través del sitio de SpringBoard Series de Microsoft.

6º- Módulos

Mediante el uso de módulos en Windows PowerShell vamos a poder organizar los scripts y funciones en unidades con almacenamiento independientes, lo que nos va a permitir empaquetar cmdlets, proveedores, scripts, funciones y otros tipos de archivo en módulos que se pueden distribuir a los usuarios de nuestra organización. Con una instalación fácil, pueden contener cualquier tipo de archivo y otorgan la posibilidad de ejecutarse en otra sesión con lo que evitaremos conflictos en el nombre utilizado para los mismos.

Como norma general, los módulos son proporcionados en el sistema por las aplicaciones que instalamos en nuestras plataformas (generalmente en la ruta c:\Windows\System32\WindowsPowerShell\v1.0\Modules), generalmente mediante una dll o un archivo de extensión psm1 . Para poder visualizar los módulos con los que contamos en nuestro entorno, podemos ejecutar el cmdlet get-module -listAvailable.

image

Imagen 1: Cmdlet get-module –listAvailable para averiguar los módulos disponibles en Windows 7

Por ejemplo, podemos utilizar el módulo TroubleshootingPack proporcionado en Windows 7 para solucionar problemas en nuestro entorno (problemas relacionados con la red o el rendimiento, por ejemplo). Para que el módulo este disponible, primero tendremos que importarlo con el cmdlet Import-Module TroubleshootingPack. Seguidamente procederemos a listar los comandos disponibles con el módulo TroubleshootingPack mediante el cmdlet Get-Command -Module TroubleshootingPack | Select-Object Name.

imageImagen 2:Cmdlet Get-Command –Module TroubleshootingPack para recibir información del módulo TroubleshootingPack

Si echamos un vistazo a la ayuda para este paquete en la pagina de msdn, veremos que los paquetes de diagnóstico para usar con este módulo se encuentran en la ubicación del sistema C:\Windows\diagnostics\system. Los paquetes de diagnóstico del sistema para dicha ubicación pueden ser listados mediante el cmdlet Get-ChildItem C:\Windows\Diagnostics\System.

imageImagen 3: Cmdlet Get-ChildItem para recibir información de los paquetes de diagnóstico disponibles

Ahora, tan sólo quedaría analizar el entorno utilizando los paquetes de diagnóstico mencionados. Para ello, vamos a realizar una prueba buscando problemas asociados con los dispositivos de audio de nuestra plataforma. Lo primero que ejecutaremos será el cmdlet Get-TroubleshootingPack C:\Windows\Diagnostics\System\Audio | fl Name, Description, el cual nos proporcionará una descripción del paquete de sonido (encargado como se puede ver en la siguiente imagen de solucionar los problemas que impidan que el equipo reproduzca o grabe sonido). Ahora, el segundo paso será realizar la invocación a dicho paquete de diagnóstico con el cmdlet Get-TroubleshootingPack C:\Windows\Diagnostics\System\Audio | Invoke-TroubleshootingPack, dando como resultado que no se ha detectado ningún problema.

imageImagen 4: Información de problemas de audio mediante Cmdlet Get-TroubleshootingPack

7º- Transacciones

Esta es sin duda una de las novedades que más me congratula. La posibilidad de integrar control transaccional en Windows PowerShell proporciona la administración de un conjunto de comandos como si se tratara de una unidad lógica, pudiendo confirmar la transacción o realizar un rollback completo de la misma para que los datos no se vean afectados por ningún cambio no deseado. Para ello, observe el siguiente ejemplo, donde mediante el cmdlet Start-transacction y el cmdlet Undo-Transaction se procede a inicializar una transacción la cual se revierte más adelante. Entre medias, se ejecutan cmdlets que agregan una clave al registro. Este ejemplo puede obtenerse mediante los ejemplos proporcionados en el msdn para el cmdl Start-Transaction.

imageImagen 5: Uso de transacciones mediante Cmdlet Start-Transaction y Undo-transaction

8º- Eventos

Windows PowerShell presenta una nueva infraestructura de eventos que permite crear eventos y suscribirse a eventos de sistema y aplicación para, a continuación, identificarlos, reenviarlos o actuar sobre ellos, ya sea sincrónica o asincrónicamente. El siguiente ejemplo muestra como recibir el listado de eventos disponibles mediante el cmdlet Get-eventlog –list.

imageImagen 6: Listado de eventos disponibles mediante Cmdlet Get-eventlog –list

9º- Funciones avanzadas

Las funciones avanzadas tienen el mismo comportamiento que los cmdlets, con la diferencia de que se escriben en el lenguaje de scripting de Windows PowerShell y no en C#.

10º- Internacionalización de scripts

Los scripts y las funciones pueden mostrar mensajes y texto de la ayuda en distintos idiomas.

11º- Ayuda en pantalla

Disponible mediante el cmdlet Get-Help, el cual incorpora como respuesta la ayuda online completa y actualizada a través de Microsoft TechNet.

image_thumb28
Imagen 7: Ayuda en pantalla mediante Cmdlet Get-Help para el cmdlet Get-Hotfix

Con esto damos por finalizada las dos entradas dedicadas a comentar las novedades de Windows PowerShell para plataformas Windows 7. No te olvides de visitar el sitio de SpringBoard Series de Microsoft. Para acabar, recuerda que si quieres aprender mucho más sobre los secretos de los sistemas Microsoft Windows, te recomendamos leer el libro de Sergio de los Santos "Máxima Seguridad en Windows: Secretos Técnicos" , o siempre 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.

rsswindowstecnico


Enviado oct 25 2011, 05:36 por Ruben Alonso

Añadir un comentario

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