Windows PowerShell, noto inizialmente come Microsoft Shell o MSH (o col nome in codice Monad) è una shell caratterizzata dall’interfaccia a riga di comando (CLI) e da un linguaggio di scripting, sviluppata da Microsoft. Si basa sulla programmazione a oggetti e sul framework Microsoft .NET. La shell a riga di comando con relativo linguaggio di scripting PowerShell di Microsoft permette di controllare e automatizzare l’amministrazione di un sistema operativo e delle applicazioni eseguite al suo interno.

Come vi abbiamo riportato lo scorso 19 Agosto con un articolo dedicato, che trovate qui, la casa di Redmond ha annunciato il rilascio sotto licenza open source (MIT License) di PowerShell che ora è disponibile anche per Linux e macOS.

Vediamo allora come installarla su Linux.

Powershell su Linux

powershell

I pacchetti auto-installanti sono stati resi disponibili su GitHub.

Prima di procedere, vogliamo ricordarvi che la versione al momento presente su GitHub – la 6.0.0 – è in Alpha (v6.0.0-alpha.9), ed è pertanto soggetta a bug e problemi.

Microsoft ha reso disponibili i pacchetti per Ubuntu 14.04 (e derivate), Ubuntu 16.04 (e derivate), RHEL 7, CentOS 7 (e derivate), esclusivamente a 64 bit.

Se avete Ubuntu è necessario aggiungere alcune dipendenze. Per procedere, su Ubuntu 14.04 aprite un terminale e digitate:

  • sudo apt install libunwind8 libicu52

Su Ubuntu 16.04, invece, digitate:

  • sudo apt install libunwind8 libicu55

A questo punto recatevi sulla pagina di download di PowerShell e scaricate il pacchetto relativo alla vostra distribuzione (.deb per Ubuntu, rpm per RHEL/CentOS/derivate).

Potrete procedere installando il pacchetto con un doppio click grazie al gestore grafico o, da remoto o terminale, utilizzando i comandi yum oppure dpkg.

In particolare, su Ubuntu, potrete digitare:

  1. sudo dpkg -i /percorso/powershell.deb

Mentre su RHEL, CentOS e derivate potrete digitare:

  1. sudo yum install /percorso/powershell.rpm

A questo punto potrete eseguire PowerShell direttamente da terminale.

sharing-caring

Vi ricordiamo che seguirci è molto semplice: tramite la pagina Facebook ufficiale, tramite il nostro canale notizie Telegram e la nostra pagina Google Plus.

Qui potrete trovare le varie notizie da noi riportate sul blog. È possibile, inoltre, commentare, condividere e creare spunti di discussione inerenti l’argomento.

 

  • Giancarlo Piccinini

    chiedo perché utenti linux dovrebbero usare Windows PowerShell ?

    • Samael

      Cominciamo col dire che quella a cui si fa riferimento non è Windows Powershell ma PowerShell Core, che è stata riprogettata per lavorare con .NET Core anziché con .NET Framework.

      Detto questo, ci sono vari motivi per cui PowerShell è importante su Linux:

      1) L’amministrazione delle istanze su Azure è al 90% gestita tramite questa shell;
      2) Windows Nano Server non permetterà login locale ma bisognerà amministrarlo dal proprio client via PowerShell e questo apre le porte all’amministrazione tramite workstation Linux;
      3) PowerShell è la base di numerose tecnologie Microsoft tra cui Exchange, che potrebbero quindi venire portate su Linux come avvenuto con SQL Server;
      4) Permetterà in futuro di espandere il supporto a DSC su Linux, permettendo così di realizzare script di deploy in un ecosistema variegato come può essere un datacenter, al pari di quanto già avviene con soluzioni concorrenti come Chef, Puppet, Ansible, Salt ecc.;
      5) PowerShell è il compagno ideale quando si lavora su .NET Core, sopra il quale si basa, in quanto permette di creare script che possono fare uso delle stesse classi del framework da te impiegato per creare il software.

      Questo non è un prodotto per UTENTI nel senso comune del termine, ma una utility per DevOps, sysadmin e sviluppatori. Ha un target ben differente dalla massa.

      • Viktor Kopetki

        non per fare sempre polemica con Microsoft, ma al punto (2) non sarebbe stato più intelligente implementare SSH ? a me pare si voglia sempre reinventare la ruota….

        • Samael

          OpenSSH è in porting e verrà implementato insieme ad una cmdlet per PowerShell, ma non ha nulla a che vedere con il modello amministrativo descritto nel punto 2.
          SSH in sé serve a fare login su macchine remote e accedere alla console del server.
          Ma Nano Server NON ha una console. Non ha una shell. Non ha niente.
          Immagina un Linux senza /bin/sh. L’unica cosa che puoi fare direttamente da una istanza Nano Server è monitorare. Non puoi nemmeno configurare una regola del firewall. Devi farlo dal client utilizzando appositi strumenti di amministrazione. E Microsoft ha usato PowerShell.

          Su Linux invece abbiamo usato systemd che difatti elimina la necessità di avere bash installata sui server, in quanto permette l’amministrazione di macchine remote.
          SSH nel nostro caso è usato da systemd come protocollo.

          • ekerazha

            Ti informo che dalla TP5 è stata reintrodotta in Nano Server una PowerShell locale.

          • Samael

            Sì, ed è normale che ci sia dato che serve a DSC, ma rimane il fatto che Nano Server la si amministra da PowerShell in remoto e non prevede un login locale alla console.

  • Posso fare il trollone e dire che è più facile installare powershell su Arch Linux che su Ubuntu? yaourt -S powershell-git

    • alex

      se l’installazioe è un problema evidentemente non è uno strumento che si è ingrado di utilizzare 😉

    • pinotto

      No, considerando che yaourt non è installato di default, e quindi il suo PKGBUILD e quello di package-query vanno scaricati ed eseguiti a mano con makepkg.

      • Giusto. Questa volta gli utenti ubuntu sono stati fortunati a trovare il dpkg. Per fortuna comunque ho visto che si sta diffondendo appimage

        • altermetax

          Non è vero quello che ha detto, per avere yaourt basta aggiungere il repo archlinux fr (stessa difficoltà di aggiungere un ppa su ubuntu) e fare sudo pacman -S yaourt.

      • MoMy

        Scusami, cosa c’è di sbagliato nel caricare il repo ”archlinux fr” e poi installare Yaourt con pacman -S?
        Bye^^

  • Fighi Blue

    Mossa che francamente non capisco, Perché microsoft ha interesse nel fare questo?

No more articles