Ejercicio práctico 1 de PowerShell en Windows Server

16 agosto 2012 § Deja un comentario

BubbleObjetivo: En un artículo anterior vimos cómo instalar el nuevo shell de líneas de comandos en Windows Server 2003. Esta vez vamos a revisar algunas situaciones prácticas que nos servirán para iniciarnos en el uso de PowerShell en Windows Server.

Dicen los expertos que PowerShell es lo más parecido a la consola Unix. Esta línea de comandos ha sido diseñada especialmente para el administrador de sistemas.

En

http://technet.microsoft.com/es-es/library/cc482998.aspx

encontramos una introducción al tema. Si queremos una versión más avanzada, podemos visitar

http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx

(en inglés).

1. ¿Cómo iniciamos PowerShell?

Comencemos por arrancar nuestra aplicación PowerShell, desde “Todos los programas”:

Otra forma  es desde “Ejecutar”, escribimos en la caja de abrir “powershell”:

Ahora, estando ya en la consola vamos a practicar con algunos comandos.

2. ¿Qué son los “cmdlet” o “command-let” en Powershell?

Son comandos de una sola función que sirven para manipular objetos en PowerShell. Cuando trabajamos con PowerShell en realidad estamos trabajando con objetos .NET.

3. ¿Cómo reconocemos a los cmdlets de los que no lo son?

Se reconocen porque su formato es un verbo (por ejemplo: get) y un nombre (por ejemplo: help) separados por un guión. Así, un cmdlet de PowerShell es “get-help” que es un comando que nos permite obtener ayuda. Por ejemplo, para obtener ayuda sobre “dir”, escribimos en la consola “get-help dir” así:

Si necesitáramos una ayuda más amplia (con los parámetros, por ejemplo) utilizaremos:

get-help dir –detailed

Y si queremos obtener toda la ayuda sobre “dir” escribimos:

get-help dir -full

Hay otras maneras, conocidas en el entorno Unix, para obtener ayuda en PowerShell como son:  “man” y “help”.

Los cmdlets según el verbo utilizado tienen una tarea específica:

get -> obtener datos

set -> establecer o modificar datos

format -> aplicar formato a los datos

out -> enviar la salida a un destino

4. ¿Cuáles son los cmdlets básicos de “get” en PowerShell?

Los básicos son:

get-help -> obtener información de ayuda

get-command -> nos muestra por pantalla la lista de comandos:

get-service -> obtener información sobre los servicios y su estado

get-process -> obtener información sobre los procesos

5. ¿Cómo mostrar la fecha y hora del sistema?

Con “get-date” el shell nos dará información sobre la fecha y hora:

Si queremos limpiar la pantalla, escribimos “cls”.

6. ¿Podemos utilizar símbolos comodines en nuestras sintaxis?

Por ejemplo, para obtener todos los ficheros ejecutables del sistema escribimos “get-command *.exe” en la consola y obtendremos una pantalla de 3 columnas que nos indica el tipo de fichero, el nombre y su localización:

7. ¿Podemos personalizar el formato de salida de datos?

El cmdlet “format” nos permite aplicar formato a la salida de datos. Por ejemplo, hemos visto anteriormente que el formato de salida por defecto del cmdlet “get-service” es una tabla de 3 columnas para estado, denominación y descripción.

Pues bien, si queremos que en vez de una tabla se muestre una lista de los datos, podemos escribir:

get-service | format-list

Vemos por pantalla lo siguiente:

La salida de datos es una lista y no una tabla. Además, se puede observar que para darle formato a la salida hemos necesitado el llamado “operador de canalización”, el símbolo “|”,  para que la salida del comando de la izquierda se convierta en la entrada del comando escrito a la derecha.

Los cmdlets de format son: format-table, format-list, format-wide y format-custom.

8. ¿Qué variantes tenemos con el cmdlet “out”?

Sabemos ya que el cmdlet “out” permite redirigir la salida de datos. Cuando utilicemos algunas de sus opciones, necesitaremos aplicar el “operador de canalización”, con el símbolo “|”, para que la acción tenga su efecto en los datos de entrada.

Tenemos cuatro modalidades con el cmdlet “out”, que son:

out-host -> dirige los datos de salida a la pantalla

out-printer -> dirige los datos de salida a la impresora

out-null -> para descartar datos innecesarios producto de una ejecución

out-file ->  para almacenar en un fichero los datos de salida

Veamos un ejemplo con “out-host”. Supongamos, que necesitamos dirigir los datos obtenidos sobre los comandos de una manera paginada, entonces podemos aplicar la siguiente sintaxis:

get-command | out-host –paging

Con esto logramos que por pantalla veamos la lista de todos los comandos y de una manera paginada:

Vemos que se muestran opciones al final de la página para ver toda la información o salir. Usar el parámetro “paging” con el cmdlet es equivalente a utilizar “more” tan conocido en el entorno Unix.

9. ¿Podemos utilizar alias para la ejecución de ciertos comandos? 

Podemos personalizar los nombres de ciertos comandos durante las sesiones de trabajo. Si cerramos la sesión,  los alias creados se borrarán (es decir, son temporales para la sesión de trabajo). Vamos a ver un ejemplo de creación de un alias. Supongamos que queremos denominar “cal” la ejecución que nos permita iniciar la calculadora de los accesorios del sistema.  Para lograrlo primero localizamos el fichero con “get-command calc.exe” y se muestra en pantalla la ruta exacta:

Ahora, establecemos el nuevo nombre del alias con:

set-alias cal c:\windows\system32\calc.exe

(con set se instalará el cambio del alias).

La estructura que hemos utilizado es:

<nombre del cmdlet> <nuevo nombre> <ruta>

En la consola vemos:

Al pulsar “enter”, el sistema inicia nuestra calculadora, como se muestra en la siguiente pantalla:

Si queremos eliminar el alias creado, utilizamos la siguiente sintaxis:

remove-item alias:cal

y desaparecerá el alias de nuestra sesión.

10. ¿Cómo podemos desplazarnos por el sistema de archivos?

En PowerShell se pueden utilizar los alias del sistema “cd” y “ls”.

Para salir de una subcarpeta, por ejemplo, utilizamos “cd ..”:

Para entrar en una subcarpeta, usamos “cd <nombre de la subcarpeta>”, por ejemplo:

Si queremos saber el contenido de la subcarpeta,  usamos “ls” (es equivalente a “dir”):

También nos ayudaremos de la barra invertida “\” para indicar la ruta, como hemos visto en un ejemplo anterior:

11. ¿Cómo podemos obtener la lista de todos los comandos de PowerShell? 

Con “get-help *” podemos obtener la lista completa. Usamos el símbolo “*” (comodín) para seleccionar a todos:

12. ¿Cuál comando nos permite conocer las unidades montadas?

Con el cmdlet “get-psdrive” podemos conocer las unidades del sistema:

La pantalla nos muestra que el sistema cuenta con las unidades “C:\”, “D:\” , “E:\” y “F:\”. Además, el cmdlet “get-psdrive” nos permite desplazarnos por el registro del sistema.

En una próxima entrega veremos el uso de los scripts con PowerShell.

Anuncios

Etiquetado:, , , , , ,

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

¿Qué es esto?

Actualmente estás leyendo Ejercicio práctico 1 de PowerShell en Windows Server en Instalar en el PC. Tutoriales paso a paso..

Meta