martes, 1 de enero de 2013

Primeros pasos con Microsoft Windows PowerShell

Mantenernos actualizados en el entorno de las tecnologías, está siendo cada vez más importante. La correcta utilización de la herramienta Microsoft Windows PowerShell, es cada vez más importante, no solo por las mejoras que nos aporta esta herramienta para la administración de servidores, servicios, procesos, etc., sino, porque cada día que pasa se incrementan en muchos los que la utilizan y centran gran número de sus tareas administrativas y de monitorización utilizándola y no en pocas entrevistas de trabajo nos preguntan, si hemos tenido alguna experiencia con PowerShell y que utilización hemos hecho de la misma. Por todo esto, ya es hora comenzar a jugar con Microsoft PowerShell y descubrir por nosotros mismos antes de que sea muy tarde, como funciona esta herramienta, su infinidad de beneficios y utilidades.

Primero que todo, debemos conocer algunos aspectos básicos de la herramienta. Seguido trataré de establecer algunos puntos de partida.

Descargate PowerShell 3.0 desde aquí.

El Windows Management Framework 3.0, incluye Windows PowerShell 3.0, WMI, WinRM, Management OData IIS Extension y el Server Manager CIM Provider. Este paquete es compatible con los siguientes Sistemas Operativos:

Windows 7 Service Pack 1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2

________________________________________________________________________________________
IMPORTANTE: Windows Management Framework 3.0 no es compatible con las siguientes aplicaciones:

o    System Center 2012 Configuration Manager.

o    System Center Virtual Machine Manager.

o    Microsoft Exchange Server 2007 and Microsoft Exchange Server 2010.

o    Microsoft SharePoint 2010.

o    Windows Small Business Server 2008 and Windows Small Business Server 2011.
________________________________________________________________________________________

Instalando Windows PowerShell (Windows Management Framework 3.0):

1. Descárgate el paquete de instalación adecuado para la versión del sistema desde aquí.
Estos son los paquetes que te debes descargar dependiendo del Sistema Operativo que utilices:


Windows 7 Service Pack 1:
o 64-bit versions: Windows6.1-KB2506143-x64.msu
o 32-bit versions: Windows6.1-KB2506143-x86.msu

Windows Server 2008 R2 SP1:
o 64-bit versions: Windows6.1-KB2506143-x64.msu

Windows Server 2008 Service Pack 2: 
o 64-bit versions: Windows6.0-KB2506146-x64.msu
o 32-bit versions: Windows6.0-KB2506146-x86.msu

2. Cierra todas las ventanas abiertas de PowerShell (Por defecto en muchos sistemas operativos está instalada la versión 1.0 y la 2.0)

3. Desinstalar cualquier otra versión de Windows Management Framework 3.0 que tengas ya instalada.

4. Ejecuta el fichero MSU que te descargaste del sitio http://www.microsoft.com/en-us/download/details.aspx?id=34595

 Desinstalando Windows PowerShell (Windows Management Framework 3.0):

1. En Control Panel/Programs/Uninstall a program/View Installed updates, localiza y desinstala las siguientes actualizaciones de Windows Update:

o KB2506143– Para Windows 7 SP1 y Windows Server 2008 R2 SP1
o KB2506146– Para Windows Server 2008 SP2

Entrando en calor con Microsoft Windows PowerShell


1. Cómo conocer la versión de Microsoft Windows PowerShell que tenemos Instalada:

Abrir PowerShell: En ejecutar tecleemos PowerShell

Otro camino sería: Abrir PowerShell en All Programs/Accessories/Windows PowerShell/ , aquí escoger la versión de PowerShell que queramos abrir, Windows PowerShell, Windows PowerShell ISE, Windows PowerShell (x86), Windows PowerShell ISE (x86).

2. Una vez abierta la pantalla de PowerShell, para saber que versión estamos utilizando escribamos el siguiente comando:


Get-Host ó $host


Como pueden ver en la imagen anterior, con cualquiera de los dos métodos, podemos obtener la versión de PowerShell que tenemos instalada en el equipo.

Ahora bien, si abrimos en lugar de la consola común de PowerShell, la consola de PowerShell ISE Integrated Scripting Environment (ISE), podriamos obtener más información sobre los comandos más utilizados y soportados por Windows PowerShell, esto pudiera ser de gran utilidad, a la hora de enfrentarnos a esta nueva herramienta por primera vez. Desde mi experiencia la utilización del PowerShell ISE, resultó altamente productiva. Desde PowerShell ISE puedes ejecutar, escribir y testear comandos, escribir scripts, auto-completamiento de comandos con la tecla Tab, es capaz de colear la sintaxis y además, ejecutar una selección específica.

Bueno, ahora centrémonos en el cómo obtener ayuda para cada uno de los comandos de PowerShell.


Como comúnmente suele ocurrir a quienes intentamos actualizar la ayuda de PowerShell (Update-Help) en ordenadores que se encuentren detrás de un Proxy, muchas veces nos encontramos con un resultado como este:
update-help : Failed to update Help for the module(s) 'ISE, Microsoft.PowerShell.Management,
Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility, Microsoft.WSMan.Management, CimCmdlets,
Microsoft.PowerShell.Diagnostics, Microsoft.PowerShell.Host, PSScheduledJob, PSWorkflow, PSWorkflowUtility,
Microsoft.PowerShell.Core' with UI culture(s) {en-US} : Unable to connect to Help content. Make sure the
server is available and then try the command again.
At line:1 char:1
+ update-help
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : UnableToConnect,Microsoft.PowerShell.Commands.UpdateHelpCommand


Esta suele ser la respuesta al ejecutar el comando Update-Help en nuestro Windows PowerShell, no obstante podemos solucionar el problema si declaramos que nos encontramos detrás de un proxy. Aunque existen métodos variados para esto, lo más recomendable es ejecutar un script que te pregunte por las credenciales con acceso a Internet. Por mi parte les propongo el siguiente código:

$webclient = New-Object System.Net.WebClient
$creds = Get-Credential
$webclient.Proxy.Credentials = $creds





Hasta el momento tenemos lo siguiente:
1- Hemos creado un nuevo objeto del sistema New-Object del tipo WebClient, solicitamos las credenciales, lo almacenamos en una variable llamada $cred y le asignamos el valor de esta variable a $webclient.Proxy.
2- Los datos introducidos deben corresponder con usuario y contraseñas con permisos para navegar en Internet (Usuario y Password del Proxy de Internet).
Con estos datos ya podremos actualizar la ayuda de PowerShell.
Ejecutemos el siguiente comando nuevamente:

Update-Help




Enhorabuena!!!! Se está actualizando la ayuda de PowerShell!!!!!
Aunque por defecto al instalar PowerShell, este consta de una ayuda muy detallada, cuando intentamos obtener Ejemplos, podría sernos muy útil, esta pequeña, pero no menos importante solución.


No hay comentarios:

Publicar un comentario