Windows Server 2012: Introduzione a PowerShell Web Access

Windows Server

Una delle features introdotta in Windows Server 2012, ma passata un po’ in sordina, è la possibilità di avere la PowerShell Web Access. Il concetto è quello di esporre un Gateway che permette agli utenti di accedere ad una macchina ed amministrarla con i cmdlet di PowerShell.

Gli scenari che si aprono sono veramente tanti ma il più importante è la possibilità di gestire l’intero ambiente via riga di comando. Da quando è stato rilasciato, ormai sono passati diversi anni, PowerShell ha avuto il compito di far tornare gli amministratori IT al passato. Gli utenti Windows sono sempre stati restii a sapere come gestire i propri server via linea di comando, cosa che invece sono abituati a fare gli utenti Linux/Unix.

La possibilità di usare i comandi remoti, introdotti con PowerShell v2, i nuovi comandi presenti nella versione 3, la semplificazione del codice e la possibilità di creare script avanzati e integrabili tra di loro, hanno dato una spinta maggiore per la diffusione dello strumento.

La configurazione del ruolo è abbastanza semplice. La prima cosa da fare è scegliere una macchina che esporrà il servizio tramite la porta 443, che potrebbe essere il Web Server usato per altri scopi (es. le console di System Center 2012).

La features si attiva tramite il Server Manager, figura 1, o tramite riga di comando, usando questa sintassi:

Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName -IncludeManagementTools -Restart

2012_12_13_powershell-01

Figura 1 – Installazione PS WA via Server Manager

Attivata la feature è necessario procedere con la creazione dell’applicazione all’interno di IIS e delle relative configurazioni di sicurezza. Il primo comando da lanciare è il seguente: Install-PswaWebApplication –webApplicationName PSWA -useTestCertificate

La features potrebbe essere anche pronta così, tuttavia è sempre meglio creare un sito web dedicato, anche perchè è possibile aggangiare il certificato digitale in modo corretto e fare le relative configurazioni.

Il nuovo sito dovrà puntare alla cartella C:\Windows\Web\PowerShellWebAccess\wwwroot e dovrà utilizzare lo stesso ApplicationPool creato automaticamente dal comando lanciato in precedenza, come mostra la figura 2.

2012_12_13_powershell-02

Figura 2 – Configurazione Nuovo Sito

Essendo un Gateway che espone dei servizi di un certo tipo, non è possibile utilizzare porte diverse dalla 443, quindi sarà necessario generare un certificato digitale interno per fare in modo che il sito risulti correttamente configurato. Il certificato può essere sia creato da un CA interna che acquistato presso un’azienda specializzata.

Una volta configurato il certificato sul sito, si può procedere con l’attivazione dei permessi per l’accesso alle macchine. Questo è un codice di esempio:

Add-PswaAuthroizationRule –UserGroupName ‘contoso\IT Support’ –ComputerGroupName ‘contoso\HV Hosts’ –ConfigurationName Microsoft.powershell

Come si può notare dal codice, viene fatta l’attivazione per il gruppo IT Support, in modo che possa accedere a tutte le macchine presenti all’interno del gruppo HV Hosts. Ovviamente si può andare a fare l’attivazione anche di un singolo utente e di una singola macchina, con una sintassi simile a questa:

Add-PswaAuthorizationRule -UserName ‘contoso\silvio.dibenedetto’ -ComputerName ‘myhost.contoso.com’ -ConfigurationName Microsoft.powershell

Avviato il comando verrà restituito un messaggio di conferma e da quel momento in avanti si potrà testare la console Web. I Browser compatibili con PowerShell Web Access sono i seguenti:

  • Internet Explorer 8.0 o superiore
  • Mozilla Firefox 10.0.2
  • Google Chrome 17.0.963.56 for Windows
  • Apple Safari 5.1.2 for Windows
  • Apple Safari 5.1.2 for Mac OS

I requisiti che questi browser devono avere sono i seguenti:

  • Allow cookies from the PowerShell Web Access
  • Be able to open and read HTTPS pages
  • Open and run websites that use JavaScript

Lanciando il sito web del Web Access comparirà una schermata come quella mostrata nella figura 3, dove inserire username, password e computer al quale ci si vuole collegare.

2012_12_13_powershell-03

Figura 3 – PS Web Access

Come detto in precedenza, è necessario selezionare una macchina ed un utente che sono stati abilitati. Se le operazioni fatte in precedenza sono state fatte in modo corretto, si avrà una schermata come quella della figura 4.

2012_12_13_powershell-04

Figura 4 – Console PowerShell

Sicuramente arrivati a questo punto, qualcuno sarà sorpreso di quello che si potrebbe fare con questa console: basta uso dei Remote Desktop, basta con l’uso di giri particolari per avere una console. Uno strumento facile e veloce da implementare per gestire la propria infrastruttura.

Ma la vera cosa cool è la possibilità di usare la console anche da device!!! Eh si, perchè i seguenti browser sono supportati:

  • Windows Phone 8 o superiore
  • Google Android
  • Apple iOS

2012_12_13_powershell-05

Figura 5 – Console da Mobile

La figura 5 mostra chiaramente come si possa gestire la console direttamente dal browser integrato nel proprio device. Sicuramente con un display ridotto, ed una tastiera touch, non è il massimo della vita fare queste attività ma rimane sicuramente la possibilità di svolgere attività d’emergenza ovunque voi siate.