1. Introducción a PowerShell para administradores de sistemas (nivel básico)

Introducción

PowerShell es una línea de comandos con tecnología de scripting basada en tareas que proporciona a los administradores de tecnologías de la información (TI) un control integral y la posibilidad de automatizar las tareas de administración del sistema.

PowerShell se ha creado sobre Common Language Runtime (CLR) y .NET Framework.

Consola

Para ejecutar la línea de comandos de Powershell hay que ejecutar el programa powershell.exe.

powershellexe

powershell-mac-os-shell

Versiones

Hay distintas versiones de Powershell, cada versión incorpora nuevas ventajas respecto a la anterior.

version-powershell-windows

Cmdlets

Los comandos (cmdlets, se pronuncia command-let) de PowerShell son sencillos de recordar usan el sistema verbo-nombre para llamar a los comandos, los verbos y los nombres están en inglés.

Los cmdlets se puede ver con el comando:
[crayon-6a61d054023e6657403683/]
get-command

powershell-mac-os-get-command

Ayuda

Para obtener ayuda de un cmdlet hay que ejecutar el cmdlet:
[crayon-6a61d054023ed819769183/]
get-help

powershell-mac-os-get-help

Alias

Los cmdlets se puede llamar de forma abreviada mediante un alias.

get-alias-powershell-windows

alias-en-powershell-mac-os

Canalizaciones

Concepto importante que permite unir dos cmdlets de la siguiente forma: la entrada de un cmdlet es la salida de otro cmdlet.

canalizacion-powershell-windows

Utilidades básicas

Seleccionar

Selecciona objetos o propiedades del objeto.
[crayon-6a61d054023ef297073876/]
get-process-select-object-name-powershell-windows

powershell-mac-os-select-object

Agrupar

Agrupa objetos que contienen el mismo valor para las propiedades especificadas.
[crayon-6a61d054023f1273015384/]
get-process-group-object-name-windows-powershell

powershell-mac-os-group-object

Ordenar

Ordena objetos por el valor de las propiedades.
[crayon-6a61d054023f3739931748/]
get-process-sort-object-name-powershell-windows

powershell-mac-os-sort-object

Contar

Cuenta elementos de los objetos o las propiedades de los mismos.
[crayon-6a61d054023f5658435993/]
count-powershell-windows

powershell-mac-count

Comparar

Compara dos conjuntos de objetos.
[crayon-6a61d054023f7777210834/]

Dar formato

Utiliza una vista personalizada para dar formato a la salida.
[crayon-6a61d054023f9504421027/]
get-process-select-object-threads-format-custom-powershell-windows

powershell-mac-os-format-custom

Entrada y salida

Envía la salida a un archivo.
[crayon-6a61d054023fb334264177/]
get-process-out-file-procesos-txt-powershell-windows

powershell-mac-out-file

Where

Proporciona una forma para filtrar los datos devueltos por otros cmdlets.
[crayon-6a61d054023fc912959788/]
get-process-where-object-cpu-lt-5-powershell-windows

powershell-mac-where-object

Grid

Envía la salida interactiva en una ventana separada.
[crayon-6a61d054023ff145299284/]
get-process-where-object-cpu-lt-5-out-gridview-powershell-windows

Measure

Proporciona una manera de generar rápidamente estadísticas (contar, valores máximos promedio, suma, mínimos y medios) para un objeto.
[crayon-6a61d05402401069866021/]
get-process-measure-object-property-cpu-minimum-maximum-average-powershell-windows

Seguridad

El cmdlet Get-ExecutionPolicy le permite ver qué secuencias de comandos de Windows PowerShell se permite ejecutar en el equipo.
[crayon-6a61d05402403680067412/]
get-executionpolicy-windows-powershell

El cmdlet Set-ExecutionPolicy le permite cambiar qué secuencias de comandos de Windows PowerShell (si los hay) se permitirá ejecutar en el equipo.
[crayon-6a61d0540240b786011845/]
Windows PowerShell tiene cuatro diferentes políticas de ejecución:

  • Restringido – Las secuencias de comandos no se pueden ejecutar. Windows PowerShell sólo se puede utilizar en modo interactivo.
  • AllSigned – Sólo guiones firmados por un editor de confianza se pueden ejecutar.
  • RemoteSigned – Los guiones descargados deben ser firmados por un editor de confianza antes de que se pueden ejecutar.
  • Unrestricted – No hay restricciones de libre disposición; todos los scripts de Windows PowerShell se pueden ejecutar.

set-executionpolicy-windows-powershell

Entorno de scripting integrado (ISE)

La versión ISE se llama powershell_ise.exe.

powershell_iseexe

Scripting

Windows Powershell tiene su propio lenguaje de scripting para crear secuencias de comandos.