Initiation au langage PowerShell

Transcription

Initiation au langage PowerShell
Antoine Petit SIO 2
Initiation au langage PowerShell
1
Antoine Petit SIO 2
Sommaire
Introduction :........................................................................................................................................... 3
1-
2-
Débuter en PowerShell.................................................................................................................... 3
1.1-
Mon premier script.................................................................................................................. 4
1.2-
Quelques commandes en PowerShell ..................................................................................... 4
Du PowerShell dans un Active Directory ......................................................................................... 8
2.1-
Script de création automatique d’utilisateur ou de remonter dans le domaine .................... 9
Conclusion ............................................................................................................................................. 10
2
Antoine Petit SIO 2
Introduction :

Qu’est-ce que le PowerShell ?
Premièrement, le PowerShell est une interface sur Windows qui remplace l’invite de commande.
Cette dernière ajoute énormément de fonctionnalités permettant de scripter et d’interagir beaucoup
plus facilement avec l’environnement et le système. Cet outil permet une grande automatisation
pour la plupart des tâches d’administration. Dans un actif directory, produit de Microsoft, il sera
possible de créer des scripts en langage PowerShell pour automatiser des tâches comme la création
d’utilisateurs ou encore faire rejoindre des machines distantes dans le domaine.

Mais qu’est-ce qu’un script ?
Un script est un programme écrit dans un langage qui permet d’automatiser certaines tâches en
se passant d’un réel langage.
1- Débuter en PowerShell
Premièrement, sous Windows, il va falloir commencer par activer la fonction PowerShell pour
pouvoir faire fonctionner un script écrit dans ce langage.
Comme ci-dessous :

La commande : Set-ExecutionPolicy RemoteSigned cette commande modifie la stratégie
d’exécution et permet d’utiliser les scripts que l’on crée nous-même.
3
Antoine Petit SIO 2
1.1-
Mon premier script
Nous allons maintenant écrire notre premier script. Ce dernier va nous permettre d’aller
rechercher des informations dans des fichiers textes.
Le script écrit ci-dessous va chercher le mot « error » dans un fichier log de xampp. Il
comptabilise les « error ». Quand on ouvre le fichier en question, on peut s’apercevoir qu’il y a bien 13
« error ».
Ce genre de script peut-être utiliser pour rechercher des informations bien spécifiques dans
des fichiers qui sont énormes et cela prendrait un temps fou pour trouver ce que l’on recherche, c’est
un gain de temps considérable juste avec 4 lignes de code.
1.2-
Quelques commandes en PowerShell
Il existe une multitude de commande en PS, je vais vous en montrer quelques-unes :

Celle-ci sert à fermer un processus, ici, le moteur de rechercher mozilla firefox. Il suffit de
savoir le nom du processus.
4
Antoine Petit SIO 2

Ici, dans un premier temps, un simple « ipconfig » permettant de savoir nos adresses ip.
Ensuite, un condensé de cette commande en choisissant d’afficher que les lignes contenant
le mot « Adresse »

Dans cette commande, nous ajoutons du contenu dans un fichier nommé « test.1 ».

Ici, on supprimer le contenu du fichier.
5
Antoine Petit SIO 2

Avec cette commande, nous écrivons le résultat d’une commande dans un fichier texte.

La commande « getmac » permet d’afficher les adresses mac des cartes réseaux.
6
Antoine Petit SIO 2

Ici, grâce à la commande Get-WinObject –List, nous affichons toute la liste des composants.
Ensuite, avec « Select-String » on choisit ce que l’on souhaite pour un affichage restreint à
l’objet choisi.
Ensuite, en récupérant l’adresse de la carte réseau, on peut directement lui attribuer une
adresse ip, un masque et une passerelle. Très pratique si l’on veut changer une adresse d’un
pc à distance si on veut passer par les lignes de commande.
7
Antoine Petit SIO 2

Avec cette commande, on a les caractéristiques de nos disques durs.
2- Du PowerShell dans un Active Directory
Le but principal d’un script étant d’automatiser des tâches, il est très intéressant de coupler ça
à un AD, cela va permettre de déployer les scripts à distance sur des machines dans un même
domaine ce qui permet d’optimiser le travail d’un administrateur réseau au maximum.
8
Antoine Petit SIO 2
2.1- Script de création automatique d’utilisateur ou de remonter dans le
domaine
La commande « New-ADUser » permet de créer un utilisateur. Le problème, quand l’on utilise
cette commande c’est que le compte ne sera pas activé. Pour voir si il est activé ou pas, la commande
« Get-ADUser » permet de voir les caractéristiques d’un compte.
Ici : Enabled : False : Cela veut dire que le compte n’est pas activé.
La stratégie de création de compte chez Windows désactive automatiquement les comptes
quand ces derniers n’ont pas eu de mot de passe définis. Par conséquent, la commande « SetADAccountPassword –Identity » permet de déterminer un mot de passe.
Pour finir, on active le compte « Enable-ADAccount –Identity » permet d’activer le compte.
9
Antoine Petit SIO 2
On peut aussi créer automatiquement des comptes en enregistrant un fichier texte au format
CSV. Ci-dessous, on importe le fichier CSV pour créer les comptes.
Conclusion
Le langage PowerShell est par conséquent très puissant. Comme on a pu le voir, à partir d’une
ligne de commande, on est capable de créer des utilisateurs dans un AD, ou encore afficher des
caractéristiques matérielles.
Pour un Administrateur réseaux et systèmes, il est très important de savoir manipuler ce
langage car il permet d’automatiser des tâches pour augmenter sa productivité et ainsi gagner
énormément de temps.
10