Después de que Microsoft se enamoró de Linux (lo que popularmente se conoce como “Microsoft Loves Linux”), PowerShell, que originalmente era un componente exclusivo de Windows, fue descontinuado y se convirtió en multiplataforma el 18 de agosto de 2016, disponible en Linux y Mac OS.
PowerShell es un sistema de automatización de tareas y gestión de configuración desarrollado por Microsoft. Está compuesto por un intérprete de lenguaje de comandos (shell) y un lenguaje de scripting basado en el .NET Framework.
Ofrece acceso completo a COM (Component Object Model) y WMI (Windows Management Instrumentation), lo que permite a los administradores de sistemas realizar tareas administrativas tanto en sistemas Windows locales como remotos, así como a WS-Management y CIM (Common Information Model), lo que permite la administración de sistemas Linux remotos y dispositivos de red.
Bajo este marco, las tareas administrativas se llevan a cabo fundamentalmente mediante clases específicas .NET llamadas cmdlets (pronunciadas command-lets).
Similar a los scripts de shell en Linux, los usuarios pueden crear scripts o ejecutables almacenando grupos de cmdlets en archivos siguiendo ciertas reglas. Estos scripts pueden ser utilizados como utilidades o herramientas de línea de comandos independientes .
Tabla de contenidos
Instalar PowerShell en Sistemas Linux
Para instalar PowerShell en Linux, utilizaremos el repositorio oficial de Microsoft que nos permitirá instalar a través de las herramientas de gestión de paquetes más populares en Linux, como apt-get o apt y yum o dnf.
Instalar PowerShell en Ubuntu
Primero importe las claves públicas de repositorio GPG, luego registre el repositorio Microsoft Ubuntu en la lista de fuentes de paquetes APT para instalar Powershell:
$ sudo apt-get update $ sudo apt-get install -y wget apt-transport-https software-properties-common $ wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" $ sudo dpkg -i packages-microsoft-prod.deb $ sudo apt-get update $ sudo apt-get install -y powershell
Instalar PowerShell en Debian 11
PowerShell para las versiones de la distribución Debian se publica en repositorios de paquetes para una fácil instalación y actualizaciones.
$ sudo apt update $ sudo apt install -y curl gnupg apt-transport-https $ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - $ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list' $ sudo apt update $ sudo apt install -y powershell
Instalar PowerShell en Debian 10
$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb $ sudo dpkg -i packages-microsoft-prod.deb $ sudo apt-get update $ sudo apt-get install -y powershell
Instalar PowerShell en Sistemas RHEL
PowerShell para distribuciones basadas en RHEL como CentOS Stream, Rocky, y AlmaLinux se publican en repositorios oficiales de Microsoft para una fácil instalación y actualizaciones.
---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- $ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell ---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ---------- $ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell ---------- On RHEL/CentOS 7 ---------- $ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell
Cómo usar Powershell en Linux
En esta sección, tendremos una breve introducción a Powershell; donde veremos cómo iniciar powershell, ejecutar algunos comandos básicos y ver cómo trabajar con archivos, directorios y procesos. Luego profundizaremos en cómo listar todos los comandos disponibles y mostrar ayuda de comandos y alias.
Para iniciar Powershell, escriba:
$ pwsh PowerShell 7.3.3 PS /root>
Puede verificar la versión de Powershell con el comando a continuación:
PS /root> $PSVersionTable Name Value ---- ----- PSVersion 7.3.3 PSEdition Core GitCommitId 7.3.3 OS Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0
Ejecutar algunos comandos básicos de Powershell en Linux.
get-date [# Display current date] get-uptime [# Display server uptime] get-location [# Display present working directory]

Trabajar con Archivos y Directorios en Powershell
1. Cree un nuevo archivo vacío utilizando los dos métodos a continuación:
new-item tecmint.tex OR “”>tecmint.tex
Entonces agregue contenido a él y vea el contenido del archivo.
set-content tecmint.tex -value "TecMint Linux How Tos Guides" get-content tecmint.tex

2. Elimine un archivo en powershell.
remove-item tecmint.tex get-content tecmint.tex

3. Cree un nuevo directorio.
mkdir tecmint-files cd tecmint-files “”>domains.list ls

4. Para realizar una lista larga, que muestra detalles de un archivo/directorio, incluidos el modo (tipo de archivo) y la última hora de modificación.
dir

5. Ver todos los procesos en ejecución en su sistema:
get-process

6. Para ver detalles de un solo/grupo de procesos en ejecución con un nombre dado, proporcione el nombre del proceso como argumento a la siguiente comanda como sigue:
get-process apache2

Significado de las unidades en la salida anterior:
- NPM(K) – la cantidad de memoria no paginada que el proceso está utilizando, en kilobytes.
- PM(K) – la cantidad de memoria pagable que el proceso está utilizando, en kilobytes.
- WS(K) – el tamaño del conjunto de trabajo del proceso, en kilobytes. El conjunto de trabajo consiste en las páginas de memoria que fueron referenciadas recientemente por el proceso.
- CPU(s) – la cantidad de tiempo de procesador que el proceso ha utilizado en todos los procesadores, en segundos.
- ID – ID de proceso (PID).
- ProcessName – el nombre del proceso.
7. Para saber más, obtenga una lista de todos los comandos de Powershell para diferentes tareas:
get-command

8. Para aprender cómo usar un comando, vea su página de ayuda (similar a la página de man en Unix/Linux); en este ejemplo, puede obtener ayuda para el comando Describe:
get-help Describe

9. ver todos los alias de comando disponibles, escribe:
get-alias

10. Por último, mostrar el historial de comandos (lista de comandos que has ejecutado anteriormente) de la siguiente manera:
history

¡Eso es todo! Por ahora, en este artículo, te mostramos cómo instalar Powershell de Microsoft en Linux. Para mí, Powershell aún tiene un largo camino por recorrer en comparación con los shells tradicionales de Unix/Linux que ofrecen, de lejos, características más emocionantes y productivas para operar una máquina desde la línea de comandos e, importante, para propósitos de programación (scripting) también.
Visita el repositorio de Powershell en Github: https://github.com/PowerShell/PowerShell
Sin embargo, puedes probarlo y compartir tus opiniones con nosotros en los comentarios.
Source:
https://www.tecmint.com/install-powershell-in-linux/