Powershell – 2-. Empezando con Powershell 1.0

2.1 Esto me recuerda a algo…

A primera vista es inevitable pensar que «esto es igual que el CMD«…

En algunos aspectos esto es cierto. Podemos utilizar comando tipicos del «CMD» como por ejemplo «cd» para cambiar de directorio o «mkdir» para crear un directorio de la misma forma en que lo haríamos en el ya clasico «CMD«.

Ademas tenemos tambien disponibles utilidades mas «modernas» como «fsutil«.

Hay que decir que Powershell lo podemos utilizar de dos maneras diferentes. La primera es de forma «interactiva«. Esta forma es la que vamos a utilizar de momento y la otra ya la veremos mas adelante, cuando tengamos mas conocimientos. En este modo introducimos los comandos despues del prompt del sistema operativo.

Como va a ser costumbre a lo largo de esta serie de articulos sobre Powershell, los diferentes apartados los intentare completar con ejemplos que lo clarifiquen un poco mejor. Y para empezar con ellos que mejor que hacerlo desde el principio con unos ejemplos bien sencillos:

Ejemplo 1:

Listar el contenido del directorio en el que nos encontramos.

dir

En la imagen podemos ver la forma en que nos muestra la información de la carpeta.

Ejemplo 2:

Posicionarnos en el directorio raiz del disco c: (si es que no estamos ya en el).

cd \

En este caso, si no dejamos espacio entre «cd» y la barra invertida (\), no dara un error.

Osea que recordad que debemos dejar un espacio.

Ejemplo 3:

Crear el directorio «power«.

mkdir power

Ejemplo 4:

Hacer un listado del directorio raiz de c:, pero esta vez se lo indicaremos.

dir c:\

Ahora podemos observar que está creado el directorio «power«.

Ejemplo 5:

Cambiar al directorio «power«.

cd power

Si queremos, podemos hacer otro listado del directorio actual y ver el resultado.

Como conclusion de este apartado sacamos que es muy parecido en aspecto al «CMD«, pero ya vermos que le podemos dar muchas mas funcionalidad que a este.

2.2 Command Completion:

Como podeis observar, el titulo de este apartado esta en ingles, no por nada, simplemente por que no se como traducirlo exactamente. Podriamos llamarlo: «completando comandos» o «finalizando comandos«, pero bueno, seguro que vais a entender bien la explicacion que voy a dar al respecto y os va a quedar muy claro.

Una caracteristica importante de la linea de comandos es esta (tab-completion). Esto nos permite introducir un comando parcialmente y pulsar la tecla «tabulador» para que Powershell intente completar el resto del comando.

A parte de poder utilizar esta caracteristica con los comandos de Powershell, tambien podemos utilizarla con ficheros. Si introducimos el comienzo de un fichero y pulsamos la tecla «tabulador«, Powershell completara el comando hasta donde pueda. Digo hasta donde pueda porque es bastante normal que tengamos varios ficheros cuyo nombre comience de la misma manera. En este caso, Powershell nos completaria hasta el ultimo caracter antes de la coincidencia.

Podemos pulsar la tecla «tabulador» mas veces para que nos vaya mostrando las diferentes opciones que tenemos hasta que coincida con la que nosotros necesitamos.

La mejor forma de entender esto es haciendo. Manos a la obra…

Ejemplo 6:

Abrimos Windows Powershell y tecleamos «get-«.

A continuacion pulsamos la tecla «tab» una vez y nos percatamos que ahora nos muestra: «Get-Acl«.

Si pulsamos nuevamente la tecla «tab» nos mostrara: «Get-Alias«.

Y si lo hacemos por tercera vez: «Get-AuthenticodeSignature«.

Bueno, y asi todas las entradas que coincidan en que su comienzo se «get-«. Al llegar al ultimo comando y volver a pulsar «tab«, volvera a empezar por el principio.

Os animo a que probeis por vuestra cuenta ya que es algo que utilizaremos mucho y cuanto antes nos acostumbremos a esta caracteristica, mejor que mejor.

2.3 Historial de comandos introducidos:

Otra caracteristica muy util que incorpora «Windows Powershell 1.0» es el «historial de comandos«.

El historial de comandos, por si no lo sabes ya, es una lista de los comandos que hemos ido introduciendo en la sesion actual de «Windows Powershell«. Imaginaos que teneis que volver a ejecutar un comando que sabeis que habeis introducido hace poco y quereis volver a introducirlo, sino completamente igual, moficiando algun parametro o argurmento. Para esto nos va a venir muy bien lo que voy a explicar a continuacion.

Si hemos introducido en la sesion actual algun que otro comando, podemos pulsar la tecla «flecha arriba»  para nos muestre el comando que acabamos de introducir. Si pulsamos varias veces mas nos ira mostrando los anteriores.

Si encontramos el que nos interesa y queremos volver a ejecutarlo «tal cual«, simplemente pulsamos «Intro«. Si por el contrario tenemos que modificar algun parametro o argumento, basta con hacerlo moviendonos por el comando con las teclas «flecha izquierda» y «flecha derecha«, borrar lo que no nos interesa e introducir lo que queremos añadir en el lugar adecuado y pulsar «Intro».

F7.

Si pulsamos F7 nos abrira un «pop-up» en la ventana de Powershell en la que podemos ver una lista de los ultimos comandos instroducidos en la sesion actual. Para movernos por esta lista utilizaremos las teclas «flecha arriba» y «flecha abajo«.

Una vez posicionados en el comando que nos interesa, pulsamos «intro«.

Get-History

Todavia no hemos visto los commandlets de Powershell, pero como encaja en este apartado, no puedo dejar de mencionar este, aunque ya lo veremos en profundidad mas adelante.

Ahora vale simplemente con que sepamos lo que hace. Y lo que hace es mostrarnos la lista de los ultimos 32 comandos introducidos en la sesion actual. En los ejemplos que pondre mas adelante seguro que os queda mas claro, pero ya os digo que lo veremos en profundidad en otro articulo posterior. Para comprobar lo que hace, basta con introducir «get-history» en la linea de comandos de Powershell.

2.4 Formato de los comandos en Powershell.

En todo shell que nos podamos encontrar, los comandos tienes un formato especifico para que puedan ser interpretados correctamente. Y claro, Powershell no iva a ser diferente.

Como ya comente en el articulo anterior, los comandos en Powershell se llaman «cmdlets» (commandlets).

Normalmente un commandlet consiste en tres partes, aunque yo voy a añadir una cuarta:

  1. Un verbo.
  2. Un nombre.
  3. Uno o varios parametros (opcional).
  4. Uno o varios argumentos (opcional).

El verbo y el nombre estan separados por el caracter «guion» (-) y los parametros y argumentos por el caracter «espacio«. mas o menos podria quedar así:

verbo-nombre -parametro1 argumento1 -parametro2 argumento2

Espero que se vea bien, pero no os preocupeis que a medida que avancemos, entenderemos mejor todo este asunto.

Como ejemplos:

get-history

Nos muestra un lista de los ultimos comandos ejecutados (por defecto 32).

get-history -count 10

Este nos muestra los ultimos 10 comandos introducidos en la sesion actual. Podemos observar que en este caso hemos introducido el parametro «-count» y el argumento 10.

get-history 7

Muestra solo el comando numero 7, el que tiene el ID 7. Como ya he dicho antes, hay parametros que se asumen por defecto y auque no los escribamos en la consola, es como si lo hicieramos.

El comando anterior podria haberse escrito:

get-history -id 7

Y el resultado seria el mismo.

Para hacernos una idea, creo que es suficiente por ahora. Ya tendremos tiempo mas adelante de ajecutar commandlets mas complejos.

Seguro que os habeis dado cuenta, pero por si acaso os lo comento yo. El uso de mayusculas y minusculas es indiferente. Da igual que igual da.

————————————–

Venga, por ahora ya tenemos para practicarnos un poco con esto. Probad lo que hemos visto y si teneis alguna duda me la comantais, a ver si yo os puedo ayudar.

A pasarlo bien!!

——
Oscar Abad
http://www.xulak.com – Consultoría informática

Los comentarios están cerrados.