Ver destacados

Qué es y cómo instalar PowerShell Core 6.0 en Windows, macOS o Linux

Te enseñamos qué es y cómo instalar PowerShell Core 6.0 tanto en Windows 10, Server como macOS o Linux.
Escrito por
13.5K Visitas  |  Publicado ene 22 2018 18:26
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Una de las utilidades más especiales desarrollada por Microsoft es Windows PowerShell el cual es un shell de línea de comandos diseñado especialmente para administradores de sistemas gracias a sus múltiples prestaciones de soporte.

 

Windows PowerShell incluye un indicador interactivo y un entorno de scripting que puede ser usado tanto de forma independiente o en combinación con otros scripts.

 

Windows PowerShell está construido sobre el Common Language Runtime (CLR) de .NET Framework y .NET Framework, con lo cual acepta y devuelve objetos de .NET Framework., de esta forma, tenemos un cambio en el entorno que nos brinda herramientas y métodos completamente nuevos y modernos para la administración y configuración de Windows.

 

Windows PowerShell está basado en el concepto de un cmdlet el cual es una herramienta de línea de comandos simple, de función única integrada en el Shell y será posible usar cada cmdlet por separado o en conjunto con otros para sacar su máximo beneficio.

 

Hasta ahora, en las ediciones de Windows 10 hemos visto el uso de Windows PowerShell con el entorno grafico mediante el cual explotamos al máximo el uso de los cmdlets:

 

 

Pues bien, Microsoft ha desarrollado a través de GitHub la nueva plataforma PowerShell Core, actualmente en su versión 6.0, la cual es compatible para sistemas Windows, macOS y Linux siendo de código abierto y creada para entornos heterogéneos y la nube híbrida aumentando así sus niveles de gestión y administración.

 


1. Diferencias entre Windows PowerShell y PowerShell Core


En este punto muchos quizás nos preguntamos qué hay de diferente entre estas dos ediciones, bien, Solvetic hará un comparativo de lo que tenemos en ambas utilidades.

 

Windows PowerShell
Es la consola conocida en sistemas Windows la cual ha estado por más de 10 años siendo el apoyo de administradores junto al símbolo del sistema. Algunas de sus características son:
  • Debido a su dependencia de .NET Framework, Windows PowerShell solo está disponible en sistemas operativos Windows.
  • Windows PowerShell se inicia como powershell.exe
  • Las versiones publicadas de Windows PowerShell hasta hoy incluyen 1.0, 2.0, 3.0, 4.0, 5.0 y 5.1.
  • Windows PowerShell está disponible como un componente integrado en el cliente de Windows y Windows Server.
  • En Windows PowerShell 5.0 o 5.1, $ PSVersionTable.PSEdition se establece en Desktop.
  • Cualquier uso de la funcionalidad basada en .NET, como cmdlets C #, Add-Type y la invocación de métodos .NET estáticos, está basada en el tiempo de ejecución de .NET Framework.
  • Continúa siendo compatible a través de correcciones de errores críticos en las versiones más recientes de Windows y Windows Server.

 

PowerShell Core
PowerShell Core es la edición de PowerShell construida sobre .NET Core la cual también podemos conocer como CoreCLR. Algunas de sus características son:
  • PowerShell Core es multiplataforma, está disponible en Windows, macOS y Linux, debido a su diseño de .NET Core.
  • En PowerShell Core, $ PSVersionTable.PSEdition se establece en Core.
  • PowerShell Core se inicia como pwsh.exe en Windows y pwsh en macOS y Linux
  • Cualquier uso de funcionalidad basada en .NET, como cmdlets C #, Add-Type y la invocación de métodos .NET estáticos, dependen del tiempo de ejecución de .NET Core.

 

Plataformas que soportan PowerShell Core
Hemos indicado que PowerShell Core es una utilidad multiplataforma la cual podremos usar con total compatibilidad en sistemas como:
  • Windows 7, 8.1, and 10
  • Windows Server 2008 R2, 2012 R2, 2016
  • Windows Server Semi-Annual Channel
  • Ubuntu 14.04, 16.04, y 17.04
  • Debian 8.7+, y 9
  • CentOS 7
  • RedHat Enterprise Linux 7
  • OpenSUSE 42.2
  • Fedora 25, 26
  • macOS 10.12+
  • Arch Linux
  • Kali Linux
  • AppImage
  • Windows ARM32/ARM64 (En estado de pruebas)
  • Raspbian (Stretch) (En estado de pruebas)

 

Módulos disponibles en PowerShell Core 6.0
La siguiente es la lista de módulos que podremos usar en esta utilidad PowerShell Core.
  • CimCmdlets
  • Microsoft.PowerShell.Archive
  • Microsoft.PowerShell.Diagnostics
  • Microsoft.PowerShell.Host
  • Microsoft.PowerShell.Management
  • Microsoft.PowerShell.Security
  • Microsoft.PowerShell.Utility
  • Microsoft.WSMan.Management
  • PackageManagement
  • PowerShellGet
  • PSDesiredStateConfiguration
  • PSDiagnostics
  • PSReadLine

 

 


2. Novedades de PowerShell Core 6.0


Con esta nueva edición de PowerShell Core 6.0 tendremos una serie de novedades pensadas en optimizar las tareas de administración, control, soporte y automatización, algunas de ellas son:
  • Se añadió soporte para globbing de comandos nativos en plataformas Unix.
  • La funcionalidad more respeta el $PAGER de Linux lo cual significa que podremos usar comodines con binarios o comandos nativos.
  • La barra inclinada invertida se omite automáticamente cuando se trata de argumentos de comandos nativos.
  • Se añadió el paquete man-page.
  • En sistemas macOS, PowerShell Core hace uso de las API os_log nativas para iniciar sesión en el sistema de registro unificado de Apple. En Linux, PowerShell usa Syslog.
  • Las rutas asignadas a cmdlets son ahora slash-agnostic, tanto / y \ funcionan como separador de directorio.
  • Soporte para nombres de archivos y carpetas que contienen el carácter de dos puntos en Unix.
  • Soporte para nombres de guiones o rutas completas que tienen comas.
  • Detecta cuándo el parámetro -LiteralPath se usa para suprimir la expansión de comodines para los cmdlets de navegación.
  • Cambió el primer parámetro posicional de Command a -File.
  • PowerShell Core acepta el modificador -i (o -Interactive) para indicar un shell interactivo.
  • Se eliminaron los parámetros -importsystemmodules y -psconsoleFile desde pwsh.exe
  • Mensajes de error de argumento no válidos para -File y -Command and códigos de salida coherentes con los estándares de Unix
  • PowerShell Core agrega soporte para Docker
  • El protocolo de conexión remota de PowerShell (PSRP) ahora funciona con el protocolo Secure Shell (SSH) además del PSRP basado en WinRM
  • La codificación predeterminada es UTF-8
  • Soporte de ampersand
  • Se agregó Get-Uptime a Microsoft.PowerShell.Utility
  • Agrega soporte de autenticación de certificado para cmdlets web
  • Se añadió soporte para encabezados de contenido a cmdlets web
  • Se mejoró la inferencia de tipo en la finalización de tabulación en función de los valores de las variables de tiempo de ejecución de las ordenes
  • Se habilitó el uso del proveedor del sistema de archivos desde una ruta UNC

 

A continuación, veremos cómo instalar PowerShell Core en las diferentes ediciones de sistemas operativos compatibles.

 


3. Instalar PowerShell Core en Windows 10

 

Paso 1

Para instalar la utilidad PowerShell Core en un cliente de Windows o Windows Server como Windows 7 SP1, Server 2008 R2 y posteriores, será necesario descargar el paquete de MSI desde la página oficial de GitHub en el siguiente enlace:

 

 GitHub

 

 

Paso 2

Allí seleccionaremos el paquete que mejor se adapte a nuestra versión de Windows, en este caso descargaremos el paquete de win-x64. Una vez descargado, daremos doble clic en el instalador y seguimos las instrucciones:

 

 

Paso 3

Pulsamos en “Next” y aceptaremos los términos de la licencia:

 

 

Paso 4

De nuevo pulsamos en Next y ahora definimos la ruta donde se ha de instalar PowerShell Core en Windows 10:

 

 

Paso 5

En la próxima ventana podemos iniciar el proceso de instalación de la utilidad:

 

 

Paso 6

Una vez instalado veremos lo siguiente:

 

 

Paso 7

Podremos cerrar el asistente y acceder a PowerShell Core desde el menú Inicio:

 

 

Paso 8

Una vez accedamos podremos trabajar con PowerShell Core según sean las necesidades de gestión en el momento:

 

 

 


4. Instalar PowerShell Core en Linux


En ambientes Linux, PowerShell Core es compatible con las siguientes distribuciones:
  • Ubuntu 14.04
  • Ubuntu 16.04
  • Ubuntu 17.04
  • Debian 8
  • Debian 9
  • CentOS 7
  • Red Hat Enterprise Linux (RHEL) 7
  • OpenSUSE 42.2
  • Fedora 25
  • Fedora 26
  • Arch Linux
  • Linux AppImage

 

En este ejemplo usaremos Ubuntu 17.04 pero Solvetic explicara el proceso para las demás distribuciones de Linux.

 

Paso 1

En el caso de Ubuntu 17.04 en primer lugar, importaremos las claves del repositorio GPG ejecutando el siguiente comando:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

 

Paso 2

Luego, ejecutaremos la siguiente línea para registrar el repositorio de Ubuntu en Microsoft:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

 

Paso 3

Posteriormente, actualizaremos la lista de los paquetes:
sudo apt-get update

 

Paso 4

Instalamos PowerShell Core ejecutando la siguiente línea:
sudo apt-get install -y powershell

 

Paso 5

Una vez instalado ejecutamos PowerShell Core con el siguiente comando:
pwsh

 

Paso 6

Ahora podremos llevar a cabo acciones normales de gestión con PowerShell:

 

 

Paso 7

Podemos ver los respectivos resultados:

 

 

Paso 8

Adicional a este paso, otra forma de instalar PowerShell en Ubuntu 17.04 es descargar el paquete "powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb" de la página de GitHub indicada en la parte superior y luego ejecutar las siguientes líneas:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb
sudo apt-get install -f
Paso 9

Para desinstalar PowerShell Core en Ubuntu 17.04 ejecutamos el siguiente comando:
sudo apt-get remove powershell
Paso 10

Ahora, veremos los comandos a usar en las otras distribuciones de Linux.

 

Ubuntu 16.04 / 16.10
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add – (importación de las claves GPG)
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (registro del repositorio de Ubuntu en Microsoft)
sudo apt-get update (actualización de los paquetes)
sudo apt-get install -y powershell (Instalación de PowerShell Core)
pwsh (Inicio de PowerShell Core)
Alternativamente, podemos descargar el paquete "powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb" del sitio web oficial y luego ejecutar las siguientes líneas:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb
sudo apt-get install -f
Para desinstalar PowerShell Core ejecutamos:
sudo apt-get remove powershell

 

Debian 9
En este caso ejecutaremos los siguientes comandos para instalar componentes del sistema:
sudo apt-get update
sudo apt-get install curl gnupg apt-transport-https
Luego importamos las claves públicas de GPG:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
Registramos el producto Microsoft:
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/microsoft.list'
Actualizamos los productos:
sudo apt-get update
Instalamos PowerShell Core:
sudo apt-get install -y powershell
Ejecutamos la utilidad:
Pwsh
Al igual que la distribución anterior, podemos descargar el paquete "powershell_6.0.0-rc-1.debian.9_amd64.deb" y luego ejecutar lo siguiente:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb
sudo apt-get install -f
Para desinstalar PowerShell Core ejecutamos:
sudo apt-get remove powershell

 

CentOS 7
En el caso de CentOS 7 en primer lugar registraremos el repositorio RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Procedemos a instalar PowerShell Core:
sudo yum install -y powershell
Ejecutamos la utilidad:
pwsh
Opcionalmente podemos descargar el paquete "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" del sitio web oficial y luego ejecutamos:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
O podemos instalarlo directamente usando la siguiente línea:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Para eliminarlo ejecutamos lo siguiente:
sudo yum remove powershell

 

RedHat 7
Si somos usuarios de RedHat en primer lugar registraremos el repositorio de RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Luego instalaremos PowerShell Core con el siguiente comando:
sudo yum install -y powershell
Ejecutamos la utilidad:
pwsh
Otra alternativa es descargar el paquete "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" y luego ejecutar:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
O directamente:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Podemos eliminar PowerShell Core ejecutando:
sudo yum remove powershell

 

Fedora 26
En el caso de Fedora 26 el primer paso es registrar la clave de firmas de Microsoft:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Luego registraremos el repositorio de RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Actualizamos la lista de productos:
sudo dnf update
Instalamos componentes del sistema:
sudo dnf install compat-openssl10
Procedemos a instalar PowerShell Core:
sudo dnf install -y powershell
Iniciamos la utilidad:
pwsh
El otro método es descargar el paquete "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" y luego llevar a cabo la ejecución de las siguientes líneas:
sudo dnf update
sudo dnf install compat-openssl10
sudo dnf install powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Para eliminar PowerShell Core en Fedora 26 usaremos la siguiente línea:
sudo dnf remove powershell

 

Así tenemos las diferentes opciones para ambientes Linux.

 

 


5. Instalar PowerShell Core macOS High Sierra


Para el caso de macOS High Sierra contamos con dos opciones de instalación de PowerShell Core.

 

Paso 1

La primera es usando HomeBrew el cual es un gestor de paquetes para macOS, en caso de no contar con HomeBrew podemos instalarlo ejecutando la siguiente línea en la terminal de macOS High Sierra.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Paso 2

Una vez instalado HomeBrew ejecutaremos la siguiente línea:
brew tap caskroom/cask

 

Paso 3

Cask es una utilidad que nos permite instalar paquetes adicionales en macOS. Una vez instalado ejecutaremos la siguiente línea para instalar PowerShell Core:
brew cask install powershell

 

Paso 4

Ingresaremos nuestra contraseña y esperamos que el proceso de descarga concluya:

 

 

Paso 5

Alternativamente, podemos descargar el paquete powershell-6.0.0-rc-osx.10.12-x64.pkg del sitio web oficial y una vez descargado, daremos doble clic sobre el dónde se desplegará el siguiente asistente:

 

 

Paso 6

Allí pulsamos en Continuar y seguiremos los pasos del asistente:

 

 

Paso 7

Si no deseamos usar el asistente gráfico, podremos usar la terminal ejecutando el siguiente comando:
sudo installer -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -target /
Paso 8

Una vez instalado podremos ejecutar el comando pwsh para acceder a PowerShell Core:

 

 

 

 

 

Paso 9

Allí llevaremos a cabo la ejecución de los comandos normales de gestión:

 

 

Paso 10

Para desinstalar PowerShell Core en macOS High Sierra podemos usar alguna de las siguientes opciones:
brew cask uninstall powershell
sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell
Como vemos, PowerShell Core es una utilidad dinámica, simple y potente que nos ayudara a llevar a cabo todo tipo de tareas de soporte en los sistemas operativos más usados en la actualidad.

 

Descubre este completo manual con los comandos cmdlets imprescindibles para usar en Windows PowerShell.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!