Maxime Rastello

Déployer PowerShell Web Access avec Windows Server 2012

Windows PowerShell Web Access est une nouvelle fonctionnalité introduite par Windows Server 2012. En installant PowerShell Web Access, vous aurez accès à une console Web hébergée sur un serveur “front-end” au sein de votre entreprise afin d’administrer un ou plusieurs serveurs internes.

Plus besoin d’installer les outils d’administration à distance ou même PowerShell sur votre poste d’administration, vous pourrez donc gérer à distance vos serveurs, que ce soit depuis un poste n’appartenant pas au domaine de votre entreprise, ou bien depuis un smartphone ou un ordinateur quelconque. Seule une connexion Internet et un navigateur compatible sont requis.

 

PowerShell Web Access

L’utilisateur se connectera à la console PowerShell depuis son navigateur pour lancer des commandes ou des scripts PowerShell

Pré-requis

Navigateur

Un navigateur compatible est nécessaire afin d’accéder à la console Web. Voici les configurations testées (liste non exhaustive) :

Desktop

  • Internet Explorer 8.0, 9.0, et 10.0
  • Mozilla Firefox 10.0.2
  • Google Chrome 17.0.963.56m
  • Safari 5.1.2 (Windows et Mac)

Mobile

  • Windows Phone 7, 7.5 et 8
  • Google Android WebKit 3.1 Browser Android 2.2.1 (Kernel 2.6)
  • Safari pour iOS 5.0.1

Les cookies en provenance du serveur Gateway doivent être autorisés, JavaScript activé, et le protocole HTTPS activé dans le navigateur (SSL)

Serveur

PowerShell Web Access requière :

  • Windows Server 2012 (Standard ou Datacenter)
  • Le rôle “Web Server (IIS)”
  • Le Framework .NET 4.5
  • Windows PowerShell 3.0

1- Installation du rôle “PowerShell Web Access”

1- Depuis le Server Manager, ouvrez le panneau “Features” puis ouvrez l’arborescence “Windows PowerShell” et enfin “Windows PowerShell Web Access”.

2- L’assistant vous avertira que certains pré-requis sont nécessaires IIS, Framework .NET 4.5…). Acceptez.

3- Cliquez sur “Next” puis sur “Install” afin de confirmer l’installation de la feature et des pré-requis.

OU

Vous pouvez aussi utiliser la commande PowerShell suivante :

Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools -Restart

 

2- Configuration de la PowerShell Web Access Gateway

Il faut ensuite configurer la gateway PWAG avec un certificat SSL. Vous avez deux solutions possible :

Utiliser un certificat auto-signé pour un environnement de test

Cette solution n’est recommandée que pour un environnement de test ! N’utilisez en aucun cas un certificat auto-signé dans un environnement de production.

Utiliser un vrai certificat pour un environnement de production

Cette solution est fortement recommandée pour des raisons de sécurité dans un environnement de test ou de production. Utilisez un certificat SSL signé par une Autorité de Certification (CA).

Note : Il est possible de remplacer le certificat de test par un certificat signé ultérieurement via la console de gestion IIS.

 

L’installation est possible en utilisant la commande “Install-PswaWebApplication” ou en passant par la console de gestion du serveur Web IIS. Je vous recommande cependant l’utiliser la commande suivante pour une configuration rapide :

 

Scénario 1 : Environnement de test (Self-Signed Certificate)

Si vous souhaitez utiliser un certificat auto-signé, exécutez la commande suivante en tant qu’administrateur dans PowerShell :

Install-PswaWebApplication -UseTestCertificate

Note :

Cette commande installera PowerShell Web Access à l’intérieur du site Web par défaut (IIS Default Web Site). Si vous souhaitez installer l’application dans un autre site Web, utilisez le paramètre WebSiteName.

Le nom par défaut de l’application est pswa. Si vous souhaitez changer ce nom, utilisez le paramètre WebApplicationName

Ex : La commande “Install-PswaWebApplication –webApplicationName myWebApp –useTestCertificate” installera l’application dans le site Web wyWebApp.

Elle sera disponible à l’adresse https://server_name/myWebApp

 

Scénario 2 : Environnement de production (Certificat signé par une CA)

1- Exécutez la commande PowerShell suivante en tant qu’administrateur :

Install-PswaWebApplication

2- Ouvrez la console de gestion du serveur Web IIS

3- Faites un clic droit sur le site Web dans lequel l’application pswa s’est installée puis choisissez ‘”Bindings” (Liens en français).

4- Dans la fenêtre qui s’affiche, cliquez sur “Add

5- Dans la fenêtre qui s’affiche, choisissez “https” et laissez les autres champs par défaut

6- Dans la partie “SSL Certificate”, sélectionnez le certificat signé puis validez par “OK”.

 

3- Configuration des règles d’autorisation PowerShell

Si la console Web PowerShell est maintenant disponible à l’adresse https://server_name/pswa, il n’est pas encore possible pour des utilisateurs de s’y connecter tant que l’administrateur du domaine ne les a pas autorisé explicitement.

Plusieurs commandes PowerShell sont disponibles pour ajouter/supprimer/modifier des règles d’autorisation (authorization rule).

Attention : Si aucune règle d’autorisation n’existe, aucun utilisateur ne sera autorisé à accéder à l’interface Web de PowerShell.

Ces commandes sont à exécuter avec un niveau de privilèges élevé (administrateur par exemple) :

Ajouter une règle

Add-PswaAuthorizationRule

Supprimer une règle

Remove-PswaAuthorizationRule

Lister les règles existantes

Get-PswaAuthorizationRule

tester une règle existante

Test-PswaAuthorizationRule

Exemple de commande :

Add-PswaAuthorizationRule –UserName ContosoJSmith -ComputerName Contoso_214 -ConfigurationName NewAdminsOnly

Cette commande autorise l’utilisateur “JSmith” appartenant au domaine “Contoso” à gérer l’ordinateur “Contoso_214” et à utiliser une session nommée “NewAdminsOnly”.

 

Pour plus d’informations sur les commandes disponibles, consultez cette page.