Dopo che Microsoft si è innamorata di Linux (ciò che è diventato popolarmente noto come “Microsoft Loves Linux”), PowerShell, originariamente un componente esclusivo di Windows, è stato open-sourciato e reso multipiattaforma il 18 agosto 2016, disponibile su Linux e Mac OS.
PowerShell è un sistema di automazione e gestione della configurazione sviluppato da Microsoft. È composto da un interprete di linguaggio di comando (shell) e da un linguaggio di scripting costruito sul .NET Framework.
Offre accesso completo a COM (Component Object Model) e WMI (Windows Management Instrumentation), consentendo così ai sistemisti di svolgere compiti amministrativi sia su sistemi Windows locali che remoti, nonché su WS-Management e CIM (Common Information Model), permettendo la gestione di sistemi Linux remoti e dispositivi di rete.
In questo framework, i compiti amministrativi sono essenzialmente eseguiti da particolari classi .NET chiamate cmdlets (pronunciate command-lets).
Simile agli script shell in Linux, gli utenti possono creare script o eseguibili memorizzando gruppi di cmdlets in file seguendo determinate regole. Questi script possono essere utilizzati come strumenti o utilità da riga di comando indipendenti.
Indice di Contenuto
Installare PowerShell nei sistemi Linux
Per installare PowerShell in Linux, utilizzeremo il repository ufficiale di Microsoft che ci consentirà di installare attraverso gli strumenti di gestione dei pacchetti Linux più popolari come apt-get o apt e yum o dnf.
Installare PowerShell su Ubuntu
Prima importare le chiavi pubbliche del repository GPG, quindi registrare il Microsoft Ubuntu repository nella lista delle fonti del pacchetto APT per installare 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
Installare PowerShell su Debian 11
PowerShell per le versioni della distribuzione Debian è pubblicato nei repository dei pacchetti per facilitare l’installazione e gli aggiornamenti.
$ 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
Installare PowerShell su 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
Installare PowerShell su sistemi RHEL
PowerShell per distribuzioni basate su RHEL come CentOS Stream, Rocky, e AlmaLinux sono pubblicati nei repository ufficiali Microsoft per un facile installazione e aggiornamenti.
---------- 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
Come utilizzare Powershell in Linux
In questa sezione, faremo una breve introduzione a Powershell; dove vedremo come avviare powershell, eseguire alcuni comandi di base e vedere come lavorare con file, directory e processi. Quindi più avanti ci immergiamo in come elencare tutti i comandi disponibili e mostrare aiuto ai comandi e alias.
Per avviare Powershell, digitare:
$ pwsh PowerShell 7.3.3 PS /root>
È possibile verificare la versione di Powershell con il comando seguente:
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
Esecuzione di alcuni comandi di base di Powershell su Linux.
get-date [# Display current date] get-uptime [# Display server uptime] get-location [# Display present working directory]

Lavorare con File e Directory in Powershell
1. Creare un nuovo file vuoto utilizzando i due metodi seguenti:
new-item tecmint.tex OR “”>tecmint.tex
Quindi aggiungi contenuto ad esso e visualizza il contenuto del file.
set-content tecmint.tex -value "TecMint Linux How Tos Guides" get-content tecmint.tex

2. Elimina un file in powershell.
remove-item tecmint.tex get-content tecmint.tex

3. Crea una nuova directory.
mkdir tecmint-files cd tecmint-files “”>domains.list ls

4. Per eseguire una lunga lista, che mostra i dettagli di un file/directory incluso il modo (tipo di file) e l’ultima modifica del tempo.
dir

5. Visualizza tutti i processi in esecuzione sul tuo sistema:
get-process

6. Per visualizzare i dettagli di un singolo/gruppo di processi in esecuzione con un nome dato, fornisci il nome del processo come argomento al comando precedente come segue:
get-process apache2

Significato delle unità nell’output di cui sopra:
- NPM(K) – la quantità di memoria non pagabile che il processo sta utilizzando, in kilobytes.
- PM(K) – la quantità di memoria pagabile che il processo sta utilizzando, in kilobytes.
- WS(K) – la dimensione del set di lavoro del processo, in kilobytes. Il set di lavoro consiste nei pagine di memoria che sono state recentemente referenziate dal processo.
- CPU(s) – la quantità di tempo processore che il processo ha utilizzato su tutti i processori, in secondi.
- ID – ID del processo (PID).
- ProcessName – il nome del processo.
7. Per saperne di più, ottieni un elenco di tutti i comandi di Powershell per diversi compiti:
get-command

8. Per imparare come utilizzare un comando, visualizza la sua pagina di aiuto (simile alla pagina man in Unix/Linux); in questo esempio, puoi ottenere aiuto per il comando Describe:
get-help Describe

9. per visualizzare tutti i comandi alias disponibili, digita:
get-alias

10. Infine, per visualizzare la cronologia dei comandi (elenco dei comandi eseguiti in precedenza), usa il seguente comando:
history

Questo è tutto! Per ora, in questo articolo, ti abbiamo mostrato come installare Powershell di Microsoft in Linux. Secondo me, Powershell ha ancora molta strada da fare rispetto alle tradizionali shell Unix/Linux che offrono caratteristiche migliori, più interessanti e produttive per operare una macchina dalla riga di comando e, soprattutto, per scopi di programmazione (scripting).
Visita il repository di Powershell su Github: https://github.com/PowerShell/PowerShell
Tuttavia, puoi provarlo e condividere le tue opinioni con noi nei commenti.
Source:
https://www.tecmint.com/install-powershell-in-linux/