0% ont trouvé ce document utile (0 vote)
24 vues8 pages

2 Année Cycle Préparatoire Module Introduction À La Sécurité Et À La Sûreté de Fonctionnement Partie 2: Powershell

Ce document présente un TP sur l'initiation au scripting PowerShell pour des étudiants de 2ème année en cycle préparatoire. Il inclut des exercices pratiques sur l'utilisation de scripts pour gérer des comptes utilisateurs, tels que l'ajout, la modification et la suppression de comptes, ainsi que l'accès à des informations sur les comptes existants. Les étudiants apprendront à utiliser l'environnement Windows PowerShell ISE et à manipuler des scripts pour répondre à divers besoins administratifs.

Transféré par

chatwaney
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues8 pages

2 Année Cycle Préparatoire Module Introduction À La Sécurité Et À La Sûreté de Fonctionnement Partie 2: Powershell

Ce document présente un TP sur l'initiation au scripting PowerShell pour des étudiants de 2ème année en cycle préparatoire. Il inclut des exercices pratiques sur l'utilisation de scripts pour gérer des comptes utilisateurs, tels que l'ajout, la modification et la suppression de comptes, ainsi que l'accès à des informations sur les comptes existants. Les étudiants apprendront à utiliser l'environnement Windows PowerShell ISE et à manipuler des scripts pour répondre à divers besoins administratifs.

Transféré par

chatwaney
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2ème année Cycle préparatoire

Module Introduction à la sécurité et à la sûreté de fonctionnement


Partie 2 : Powershell
TP5 : Initiation au scripting Powershell
Anas Abou El Kalam & Ali Azoughagh & Wissam Abbass

1. Présentation
La démarche s’appuie sur la présentation de petits scripts que l’étudiant doit d’abord interpréter
pour en comprendre le fonctionnement, puis faire évoluer pour répondre à un nouveau besoin. Le
dernier script à produire permet l’ajout de comptes utilisateurs à partir d’un fichier texte, il est
réalisé à partir des deux derniers scripts étudiés.

Les scripts sont présentés avec l’environnement d'écriture de scripts intégré Windows PowerShell ISE

(Integrated Scripting Environment) installé par défaut avec Windows 7. Il est possible d’utiliser un
autre éditeur pour PowerShell, comme PowerGUI que nous étudierons dans un autre TP Powershell.

Il est possible de réaliser de nombreuses variantes de ces scripts, notamment en prévoyant la saisie
d’informations supplémentaires sur les comptes (mot de passe, répertoire personnel,..), l’activation

TRAVAIL A FAIRE (1)

Utilisation de Windows PowerShell ISE


- Lancer Windows PowerShell ISE sous Windows 7:
Démarrer\Tous les programmes\Accessoires \Windows PowerShell \Windows PowerShell ISE

ou la désactivation des comptes, la mise en place de groupes, l’affectation aux groupes, etc.

Présentation des différentes fenêtres : 2èmevolet de sortie pour afficher le résultat d’exécution et un
dernier volet qui correspond à la console de saisie interactive des commandes PowerShell (PS). Suite
à l’exécution d’un script, les variables de celui-ci sont accessibles dans la console de saisies des
commandes
.

Efface le volet de sortie

Edition du script Exécute le script (F5)

Volet de sortie,
résultat de
l’exécution

Console de saisie
des commandesPS

Dans PowerShell, i l existe quatre paramètres de stratégie d'exécution des scripts qui sont :

Restricted : paramètre par défaut, n'autorise pas l'exécution des scripts,

AllSigned : n'exécute que les scripts de confiance, donc signés,

RemoteSigned : exécute les scripts locaux sans obligation de confiance et les scripts de
confiance issus d'Internet,

Unrestricted : autorise l'exécution de tous les scripts.

TRAVAIL A FAIRE (2)

- Démarrer Windows PowerShell en tant qu’administrateur (Bouton


droit sur « Windows Powershell » puis cliquer sur « Exécuter en tant
qu’administrateur ».

- Taper la commande Get-ExecutionPolicy pour connaitre la stratégie


en cours
Noter le résultat affiché :

- Taper la commande Set-ExecutionPolicy RemoteSigned pour modifier


la stratégie Noter le résultat affiché :
Vous répondre « O » à la demande de validation de la commande

- Retaper la commande Get-ExecutionPolicy pour vérifier que la stratégie en cours désormais


n’est plus la même qu’au départ Noter le résultat affiché :

Exercice 1. Accès aux comptes locaux du système


Le premier script étudié permet d’afficher la date de dernière connexion d’un compte local du
système.

- Cliquer avec le bouton droit sur le fichier de script, puis cliquer sur
Propriétés.
- Cliquer sur Débloquer

TRAVAIL A FAIRE (Si nécessaire)

- [Effectuer les manipulations indiquées ci-dessus pour le script concerné si vous avez eu un
blocage à l’étape précédente.

- Essayer de nouveau d’exécuter le script, saisir un compte inexistant, vérifier le résultat dans
le volet de sortie.]

- Exécuter le script, saisir un compte local existant, Admin par exemple, vérifier la date de
dernière connexion dans le volet de sortie.

Explications de la ligne 4 : L’accès à la base locale de comptes utilisateurs d’un système Windows est
réalisé avec l’instruction : [ADSI]"WinNT://."
Remarque : Ici, les majuscules et les minuscules doivent être respectées.

Le point représente le nom du système sur lequel est lancée l’instruction, il peut être remplacé par le
nom de l’ordinateur cible. Il faut bien sûr avoir des droits d’administration sur l’ordinateur distant.

Pour filtrer les éléments de la base de comptes, il est possible de spécifier le nom de l’élément
recherché, ici il est contenu dans la variable $nom dans la ligne … [ADSI]"WinNT://./$nom"

TRAVAIL A FAIRE (4)

A faire (seulement si le compte a été trouvé) :


- Dans la console de saisie des commandes (Volet 3), afficher les propriétés de la variable $compte,
en utilisant la commande suivante : $compte | Get-Member

- Dans le volet de sortie (volet 2), relever le nom des propriétés qui permettent d’afficher le nom
complet et la description d’un compte.

- Renseigner le nom complet du compte admin (par le nom et prénom du premier technicien
responsable de l’agence par exemple). Pour cela Démarrer/ordinateur(BD)/Gérer/Utilisateurs et
groupes/Utilisateurs/Admin(BD)/Propriétés/
Renseigner la zone nommée « Nom complet » ainsi que celle nommée « Description » (exemple de
valeur à saisir pour cette dernière zone : « Compte de l’admin local » puis OK

- Modifier le script lastlogin.ps1 (enregistrer le sous le nom lastloginT4.ps1) pour qu’il affiche ces
informations en plus de la date de dernière connexion. Tester !

Exercice 2. Ajout d’un compte local du système


Le second script étudié permet d’ajouter un compte local à partir de la saisie du nom et de la
description du compte.

Le script :

Connexion à la
base locale

Saisie du nom et
de la description

Test si le compte
n’existe pas déjà

Renseigne la
description
Valide la création
et la modification
des informations

)
TRAVAIL A FAIRE (5)

- Ouvrir le script ajoutCompte.ps1 dans Windows PowerShell ISE (Fichier\Ouvrir).

- Exécuter le script, saisir un nom et une description pour le compte local à ajouter, exemple : test01,
description : Test d’ajout d’un compte.

- Vérifier la création du compte via l’interface graphique Windows (via Gérer). Utiliser F5 si
nécessaire pour rafraichir la liste des comptes

Remarque : Par défaut, le nom complet est identique au nom.


Explications :
Ligne 11 : La variable $local possède une méthode create() qui permet de créer un objet de type
"user" (premier paramètre), dont le nom du compte est spécifié par le deuxième paramètre, ici la
variable $nom. Le résultat est une variable nommée $utilisateur.

Ligne 12 : La variable $utilisateur possède une méthode InvokeSet() qui permet de renseigner une
information du compte, spécifiée par le premier paramètre, dont la valeur est contenue dans le
deuxième, ici $description.

TRAVAIL A FAIRE (6)

- Modifier le script ajoutCompte.ps1 (enregistrer le sous le nom ajoutcompteT6.ps1) pour que


le nom complet soit également saisi et renseigné au moment de l’ajout du compte.

- Faire un test avec un nouveau compte (test02), une description : Test d’ajout d’un 2ème
compte et un nom complet (Laurent PERRIN par exemple)

Exercice 3. Parcours d’un fichier texte contenant les informations des comptes utilisateurs Ce
script permet d’afficher tous les noms des comptes utilisateurs contenus dans un fichier texte.

Les informations sont sous la forme : nomCompte/nomComplet/Description


: .

Chemin du fichier
listeCompte.txt

Tableau ($colLignes)
qui contient toutes les
lignes du fichier

Ce tableau peut être


parcouru comme une Affiche le premier
collection de lignes. élément d’un compte:
nomCompte

TRAVAIL A FAIRE (7)

- Ouvrir le script lireFichier.ps1 dans Windows PowerShell ISE (Fichier\Ouvrir).

- Copier le fichier listeCompte.txt dans le dossier C:\testPowerShell (déjà créé via le TP1
Powershell)

- Exécuter le script et vérifier la liste des noms affichés dans le volet de sortie (volet 2).

Explications :
Ligne 10 : Cette instruction peut s’interpréter de cette manière : Pour chaque ligne ($ligne) contenue
dans l’ensemble des lignes ($colLignes). La variable $ligne va successivement prendre la valeur de
chaque ligne du tableau $colLignes.

Ligne 11 : $ligne est une chaîne de caractères. La variable $ligne possède une méthode Split() qui
permet de retourner un tableau construit à partir de la chaîne de caractères contenue dans $ligne.
Les éléments du tableau correspondent aux chaînes de caractères délimitées par le séparateur "/".

TRAVAIL A FAIRE (8)

- Modifier le script lireFichier.ps1 (enregistrer le sous le nom lireFichierT8.ps1) pour que le nom
complet et la description soient également affichés en dessous du nom du compte. Tester.

Exercice 4. Suppressions de comptes utilisateurs


A l’aide des deux derniers scripts ajout d’un compte et lire dans un fichier écrire un script qui permet
d’ajouter dans la base locale du système, tous les comptes contenus dans le fichier listeCompte.txt
avec comme mot de passe P@ssw0rd pour tous. Ce script portera le nom ajoutuserdepuisfichier
T9.ps1
TRAVAIL A FAIRE (9)
Tester l’ajout de ces comptes pour obtenir

Faire un deuxième test avec le même fichier, que se passe t il pour les noms déjà existants

Ce script permet de supprimer tous les comptes utilisateurs dont les noms sont contenus dans un
fichier texte.

Les informations sont toujours sous la forme : nomCompte/nomComplet/Description

Le script :

Suppression du
compte s’il existe

TRAVAIL A FAIRE (10)

- Ouvrir le script suppressionCompteFichier.ps1 dans Windows PowerShell ISE (Fichier\Ouvrir).

- Exécuter le script et vérifier la liste des noms affichés dans le volet de sortie (volet 2).

- Vérifier la suppression des comptes dans Utilisateurs et groupes locaux, dossier Utilisateurs.
Explications :
Ligne 17 : Comme pour la création, la variable $local possède une méthode delete() qui permet de
supprimer un objet de type "user" (premier paramètre), dont le nom du compte est spécifié par le
deuxième paramètre, ici la variable $nom.

TRAVAIL A FAIRE (11)

- Réaliser les modifications pour que la suppression concerne également les comptes test01 et test02
créés à l’exercice 1.

- Exécuter le script et vérifier si tous les comptes créés ont été supprimés.

Vous aimerez peut-être aussi