@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

Curso básico de Powershell: Introducción

A los que nos seguís, habréis comprobado que de forma recurrente solemos escribir entradas sobre PowerShell y ejemplos de como realizar ciertas tareas demostrando todo el potencial que tiene.

Viendo que es una herramienta que cada vez utilizamos más y que Windows está apostando fuertemente por él en los nuevos sistemas, me he decidido a realizar una serie de entradas a modo de curso básico que sirva para la introducción y conocimiento de los comandos básicos y que sirva de base para poder utilizar PowerShell con todo su potencial.

Intentaré utilizar ejemplos que de forma sencilla y clara muestren los distintos apartados, ya que muchas veces con los ejemplos es como mejor entendemos el funcionamiento de las cosas.

Este es el temario:

  1. Introducción
  2. Instalación y requerimientos
  3. Ayuda
  4. Ampliando la funcionalidad
  5. Canalización
  6. Operadores
  7. Comandos básicos
  8. Formato de salida
  9. Importar y Exportar datos
  10. Arrays y HashTables
  11. Ejecución de Scripts
  12. Providers
  13. Trabajos
  14. Scripts y funciones
  15. Gestión de Errores

1.- Introducción

Para empezar un poco de historia. Desde Windows NT 4, han existido varias herramientas para poder administrar servidores y equipos Windows:

  • NT4: Resource Kit Tools
  • Windows XP / 2000: VBScript y Resource Kit Tools
  • Año 2006: se lanza PowerShell 1.0
  • Año 2009: se lanza PowerShell 2.0
  • Año 2012: PowerShell 3.0

Como vemos en los últimos años han ido apareciendo las distintas versiones de PowerShell, partiendo de una simple herramienta de comandos a ser la base de los nuevos sistemas operativos como es Windows 2012.

¿Pero que es PowerShell? Powershell es un motor de administración orientado a objetos basado en .NET Framework. Este es el punto más importante de PowerShell. En PowerShell todo son objetos, aunque veamos la salida por pantalla de la ejecución de comandos como una cadena de texto, en realidad lo que vemos es la representación de un objeto.

PowerShell es una aplicación que normalmente vemos como una ventana CMD con fondo azul, pero PowerShell es realmente la base, la ventana CMD es una aplicación que utiliza el motor de PowerShell.

Ventana clásica de PowerShell
Ventana clásica de PowerShell

 

Junto a PowerShell, en nuestros sistemas también tenemos PowerShell ISE, que es un editor gráfico para crear y ejecutar comandos PowerShell.

Demostración básica

Arrancamos una ventana de PowerShell y ejecutamos:

De esta forma podemos ver los comandos (o cmdlets), funciones, alias que tenemos disponibles para ejecutar.

Get-Command
Get-Command

Los comandos, utilizan un sistema de nombres, por el que cada comando está formado por dos partes Verbo y Nombre, separados por un guión. Por ejemplo: Get-Command, Get-Service, Stop-Service, Start-Service…

Cada comando tiene distintos parámetros que podemos utilizar para definir el comando concreto a ejecutar. Por ejemplo: Si queremos obtener solo los alias ejecutamos

Con todos los comandos podemos utilizar parámetros. Hay algunos parámetros que son comunes a todos los comandos, como pueden ser -WhatIf, -Verbose … y otros que son específicos de cada comando, como puede ser el que hemos visto -CommandType

Otro ejemplo básico pero añadiendo uno de los aspectos más importantes de PowerShell, la canalización entre comandos, que la salida de un comando sirva de entrada para otro.

Get-Command con parámetros
Get-Command con parámetros

Si ejecutamos:

Obtenemos una ventana con el listado de servicios que están en estado Running, ordenados alfabéticamente por la descripción. Más adelante veremos con detalle que es lo que ha pasado en este comando.

Uso de alias

Si ejecutamos:

Comando dir
Comando dir

Vemos que obtenemos un listado de los archivos.

Pero que pasa si en lugar de “dir” utilizamos “ls”

¿ls en Windows?
¿ls en Windows?

Obtenemos el mismo resultado. Entonces, ¿los comandos Linux funcionan en PowerShell? No. Lo que tenemos aquí son Alias. Comandos que en realidad son enlaces a otros comandos y Microsoft ha tenido la idea de crear por defecto el alias “ls”.

Vemos que tanto “dir” como “ls” son Alias del mismo comando Get-ChildItem

Entonces que pasa si ejecutamos

Get-ChildItem
Get-ChildItem

Pues que tenemos la misma salida que con “dir” y con “ls”

Ahora vamos a ver como un sencillo comando como puede ser el comando “dir”, utilizando los parámetros correspondientes, amplían su potencial. Por ejemplo:

Con este comando obtenemos todos los archivos con extensión txt existentes en la unidad C:\

Dir recursivo
Dir recursivo

Otro ejemplo:

dir un poco más complejo
dir un poco más complejo

Y como vemos con un sólo comando obtenemos una ventana con un listado en el que vemos el número de archivos que hay de cada tipo según su extensión ordenados de forma decreciente de mayor a menor número de archivos.

Con esta introducción hemos visto algunos ejemplos de como con varios comandos básicos podemos llegar a crear comandos

 

Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Roberto Orayen

Compruebe también

powershell-medir-tiempo-ejecucion-de-un-proceso-o-script-1

Powershell: Medir tiempo ejecución de un proceso o script

Powershell: Medir tiempo ejecución de un proceso o script Hoy vamos a explicaros varios métodos …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

dos × 5 =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu