1-Présentation de Power
Shell Web Access
PowerShell
Web Access est une nouvelle fonctionnalité dans Windows server 2012, qui va
vous permettre d’accéder à vos serveurs via une interface de commande PowerShell depuis un navigateur Web quel que soit l’endroit où vous êtes. «Dans
l’entreprise, chez vous depuis votre ordinateur personnel, tablette ».
2-Comment ça
marche ?
Comment
fonctionne PowerShell web Access ? C’est une fonctionnalité qui sera
installée sur un serveur web IIS qui va ensuite faire office de passerelle afin
de vous permettre l’accès à vos serveurs.
C’est l’une
des améliorations de PowerShell V 3.0
3-Architecture
4-Pré-requis
- Un serveur sous Windows server 2012
- Le Rôle IIS d’installé
- NET Framework 4.5
- Windows Power Shell 3.0
- Fonctionnalité Windows Power shell Web access
- Certificat SSL
Nous allons
voir comment installer une passerelle PowerShell, pour commencer, il faut
installer la fonctionnalité « Windows PowerShell Web Access » :
Deux Méthode s’offrent à vous :
Soit vous allez
dans le gestionnaire de Serveur, et vous ajoutez la fonctionnalité en
question :
Une fois la
case cochée, vous faites suivant et laissez le serveur installer la
fonctionnalité.
Ou
alors en PowerShell, il faut ouvrir une
console PowerShell en tant qu’administrateur et saisir la commande suivante:
Install-WindowsFeature –Name WindowsPowerShellWebAccess -IncludeManagementTools –Restart
NB :
Ici, je suis sur le serveur qui va servir de passerelle PowerShell, si vous
voulez installer cette fonctionnalité sur un serveur distant il faudra ajouter
le paramètre suivant :
-ComputerName <le nom du serveur distant>
La
fonctionnalité désormais installée, il
faut maintenant procéder à l’installation de l’application Web dans IIS .
Dans votre console
PowerShell exécutez la commande suivante :
On peut voir ici le message en
rouge sur ma capture d’écran
Le paramètre – UseTestCertificate va vous permettre de créer un certificat SSL de test afin quevous puissiez vous connecter via un navigateur Web en HTTPS.
Cependant, cette pratique n’est pas recommandée en production, d’où le nom du paramètre « UseTestCertificate », c’est juste un certificat de test, il n’est pas valable et surtout pas sécurisé. Donc Attention, pour les bonnes pratiques, il faut avoir un certificat valide généré par votre environnement Active directory et PKI.
Donc, comme je disai plus haut, il me dit qu’il existe déjà un certificat
« SSL » donc j’exécute la
commande sans le paramètre «
UseTestCertificate » :
Install-PswaWebApplication
Une fois
l’application installée, il faut se rendre dans le gestionnaire IIS et aller
dans site par défaut :
5-2 Règles d’accès
Voici la règle que j’ai saisie pour ma part :
Voici la commande :
On voit ici
l’application « PSWA » qui
a été crée
Il faut
maintenant aller dans « Default Web
Site » et allez dans : Liaisons
Vous
sélectionnez votre certificat SSL :
Une fois
sélectionné, il faut procéder aux règles d’autorisation et la gestion de la
sécurité de la passerelle web.
On peut
désormais se connecter à notre console Web PowerShell en tapant :
https://< nom_serveur_passerelle>/pswa.
Voici le
résultat :
On obtient
la page d’authentification.
Si j’essaie
de me connecter directement, j’ai le message d’erreur suivant :
Il me dit que
l’accès est refusé, il faut mettre en place des règles qui vont me permettre
d’accéder à mes serveurs en PowerShell via cette page Web.
5-2 Règles d’accès
Comme vu précédemment, par défaut aucun utilisateur n’est
autorisé à se connecter sur les serveurs à distance en PowerShell, il faut donc
créer des règles afin d’autoriser les utilisateurs.
La création de règle d’accès se fait avec des commandes PowerShell,
on peut même autoriser un utilisateur a se connecter et a utiliser que
certaines commandes PowerShell et rien d’autre, ça permet donc d’avoir
plusieurs utilisateurs et groupes avec des droits spécifiques à leur fonction
dans l’entreprise.
Voici une présentation des commandes PowerShell pour les
règles d’accès :
Commande :
Add-PswaAuthorizationRule
Description :
Permet d’ajouter une règle d’autorisation
Voici les différents paramètres de cette commande :
• ComputerGroupName
• ComputerName
•ConfigurationName
• RuleName
• UserGroupName
• UserName
Commande :
Remove-PswaAuthorizationRule
Description :
Elle permet supprimer une règle d’autorisation
Voici les différents paramètres de cette commande :
• Id
• RuleName
Commande :
Get-PswaAuthorizationRule
Description :
Elle renvoi les règles passées avec la commande Add-PswaAuthorizationRule
Voici les différents paramètres de cette commande :
• Id
• RuleName
Commande :
Test-PswaAuthorizationRule
Description :
Elle permet de tester et d’évaluer les règles d’accès.
Voici les différents paramètres de cette commande :
• ComputerName
• ConfigurationName
• RuleName
• UserName
Voici la règle que j’ai saisie pour ma part :
Voici la commande :
Add-PswaAuthorizationRule -ComputerName DC01.domaine.fr –Username “domaine\Seyf” –ConfigurationName Microsoft.powerShell
J’autorise l’utilisateur Seyf à se
connecter sur le serveur via PowerShell web access "DC01" qui est mon contrôleur de domaine.
Vous pouvez également autoriser tous
les utilisateurs qui sont sur le serveur en question, ou d’un groupe en
particulier.
Règle spécial qui autorise tous les
utilisateurs du serveur à se connecter :
Add-PswaAuthorizationRule * * *
Une commande qui va vous permettre de visualiser toute les règles que
vous avez saisie:
Test-PswaAuthorizationRule
On voit ici
mes deux règles crées au cours de ce How To.
Une fois
qu’on a autorisé les utilisateurs à se connecter sur le serveur via le
navigateur web en PowerShell, on établit un test de fonctionnement.
Etape1 : « connexion sur la passerelle
PowerShell » :
Vous ouvrez un navigateur et vous tapez l’adresse ou le nom de votre serveur suivi de
\pswa :
Pour ma
part :
Je remplis les champs suivants:
- Utilisateur: Seyf ou administrateur
- mdp: le mots de passe associé
- le nom de l'ordinateur: DC01 "car j'ai spécifié, que je voulais prendre le contrôle de mon contrôleur de domaine dans la réglé plus haut".
Voici le résultat final:
Voila, je suis connecté sur mon serveur DC01 depuis chez moi, et je peux exécuter des commandes et script powershell.
Seyfallah.