¿Qué es PowerShell?

Completado

PowerShell consta de dos elementos: un shell de línea de comandos y un lenguaje de scripting. Comenzó como un marco para automatizar tareas administrativas en Windows. PowerShell se ha convertido en una herramienta multiplataforma que se usa para muchos tipos de tareas.

Un shell de línea de comandos carece de una interfaz gráfica, donde se usa un mouse para interactuar con los elementos gráficos. En su lugar, se escriben comandos de texto en la consola de un equipo. Estas son algunas de las ventajas de usar una consola:

  • La interacción con una consola suele ser más rápida que el uso de una interfaz gráfica.
  • En una consola, se pueden ejecutar lotes de comandos, por lo que es idónea para la automatización de tareas para canalizaciones de integración continua.
  • Una consola se puede usar para interactuar con recursos de nube y de otro tipo.
  • Puede almacenar comandos y scripts en un archivo de texto y usar un sistema de control de código fuente. Esta capacidad es probablemente una de las mayores ventajas, porque sus comandos son repetibles y auditables. En muchos sistemas, especialmente en los gubernamentales, se debe realizar el seguimiento de todo el contenido, y también se debe evaluar o auditar. Las auditorías abarcan desde los cambios de base de datos a los realizados por un script.

Características

PowerShell comparte algunas características con los shells tradicionales:

  • Sistema de ayuda integrada: la mayoría de los shells tienen algún tipo de sistema de ayuda en el que se puede obtener más información sobre un comando. Por ejemplo, puede obtener información sobre lo que hace el comando y los parámetros que admite. El sistema de ayuda de PowerShell proporciona información sobre los comandos y, además, se integra con artículos de ayuda en pantalla.
  • Canalización: en los shells tradicionales, se usa una canalización para ejecutar muchos comandos de forma secuencial. La salida de un comando es la entrada del siguiente. PowerShell implementa este concepto como los shells tradicionales, pero difiere porque funciona en objetos sobre el texto. Obtendrá más información sobre esta característica más adelante en este módulo.
  • Alias: los alias son nombres alternativos que se pueden usar para ejecutar comandos. PowerShell admite el uso de alias comunes, como cls (para borrar la pantalla) y ls (para enumerar los archivos). Por tanto, los nuevos usuarios pueden utilizar sus conocimientos de otros marcos y no tienen que recordar el nombre de PowerShell para los comandos conocidos.

PowerShell difiere en varios aspectos de un shell de línea de comandos tradicional:

  • Funciona en objetos sobre el texto. En un shell de línea de comandos, tiene que ejecutar scripts cuya salida y entrada pueden diferir, por lo que termina dedicando tiempo a dar formato a la salida y extraer los datos que necesita. Por el contrario, en PowerShell se usan objetos como entrada y salida. Esto significa que dedica menos tiempo a las tareas de formato y extracción.
  • Tiene cmdlets. Los comandos compilados en PowerShell se denominan cmdlets (pronunciado comandlets). En PowerShell, los cmdlets se basan en un entorno de ejecución común en lugar de en archivos ejecutables independientes, ya que se encuentran en muchos otros entornos de shell. Esta característica proporciona una experiencia coherente en el análisis de parámetros y el comportamiento de la canalización. Los cmdlets suelen tomar objetos de entrada y devuelven objetos. Los cmdlets principales de PowerShell se compilan en .NET Core y son de código abierto. Puede ampliar PowerShell mediante más cmdlets, scripts y funciones de la comunidad y otros orígenes, o bien puede crear sus propios cmdlets en .NET Core o PowerShell.
  • Tiene muchos tipos de comandos. Los comandos de PowerShell pueden ser ejecutables nativos, cmdlets, funciones, scripts o alias. Cada comando que se ejecuta pertenece a uno de estos tipos. Las palabras comando y cmdlet se suelen usar indistintamente porque un cmdlet es un tipo de comando.

Instalación

En este módulo, practicará con el uso de PowerShell en el equipo. PowerShell está disponible en todas las plataformas. Sin embargo, si utiliza un ordenador que ejecuta Linux, macOS o una versión anterior de Windows, tendrá que instalarlo.

Las instrucciones para instalar PowerShell son diferentes para cada sistema operativo. Antes de continuar, dedique unos minutos a instalar PowerShell o a comprobar la instalación de PowerShell. En la siguiente unidad de este módulo se muestra cómo comprobar la instalación.

Windows

Si ejecuta Windows 8 o una versión posterior, la versión de PowerShell llamada Windows PowerShell ya debe estar instalada. Esta versión difiere ligeramente de la versión de PowerShell más actualizada, pero funciona bien con fines de aprendizaje.

Puede abrir Windows PowerShell desde el menú Inicio.

Otros sistemas operativos

Si el equipo ejecuta algo distinto de Windows 8 o posterior, debe instalar PowerShell. Para buscar las instrucciones de instalación del sistema operativo, vea Instalación de varias versiones de PowerShell.

Extensión de PowerShell para Visual Studio Code

Se recomienda usar la extensión PowerShell para Visual Studio Code a fin de crear los scripts de PowerShell y ejecutar los comandos de este módulo. Esta extensión permite ejecutar comandos y ayuda con los fragmentos de código, la finalización de código y el resaltado de sintaxis.