SISR4 - Administration des
serveurs - Scripting –
Chap1 Découvrir PowerShell
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 1
Objectif principal
• Manipuler les commandelettes de base de
PowerShell à travers des exercices de prise
en main
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 2
Objectifs intermédiaires
• Montrer l’aide en ligne dans PowerShell
• Définir les commandes de base
• Expliquer la gestion des fichiers, des
répertoires
• Donner la notion et le rôle du Provider
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 3
Sommaire
1. Le fichier d’aide en ligne 4. Gestion des répertoires et
1. Mettre à jour son des fichiers
fichier d’aide 1. New-Item
2. Configurer son fichier 2. Get-Content
d’aide 3. Rename-Item
4. Move-Item
2. Les commandes de base 5. Remove-Item
1. Constitution des 6. Copy-Item
commandes
2. Get-Command 5. Le PSProvider PowerShell
3. Get-Help 1. Les manipulations
4. Get-Member permises
2. Les PSProviders
3. Gestion générale des disponibles
fichiers
1. Les alias 6. Pour aller plus loin
2. Get-ChildItem
3. Set-Location
4. Get-Location
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 4
1. Le fichier d’aide en ligne
1. Mettre à jour son fichier d’aide
2. Configurer son fichier d’aide
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 5
1.1 Mettre à jour son fichier d’aide
• PowerSchell dispose d’une aide en ligne accessible par la
commande
– Pour déclencher cette commandelette, faire
• clique droit dans démarrer
• lancer PowerShell en tant qu’administrateur
• Une seule maj d’aide / 24h est possible
– Pour contourner cela utiliser le paramètre –Force
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 6
1.2 Configurer l’aide en ligne
• Plusieurs options
– Sur un partage réseau
1. télécharger le dépôt de l’aide sur une machine, jouant le rôle de
serveur d’aide et ayant accès à Internet
2. à mettre à jour le dépôt à partir d’un réseau partagé
3. Forcer l’utilisation d’un dépôt de l’aide particulier via une GPO
1. Cette stratégie apparaît dans Configuration ordinateur et
Configuration utilisateur
2. Mais seule la partie Configuration ordinateur est effective,
l’autre est ignorée car il s’agit d’un paramètre machine
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 7
2. Les commandes de base
1. Constitution des commandes
2. Get-Command
3. Get-Help
4. Get-Member
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 8
2.1 Constitution des commandes
• Les commandes PowerShell sont nommées cmdlets ou
commandelette
• Constitution
– Verbe-nom Get-commande
– Pour les verbes génériques on peut trouver Get, Set, Add,
Remove etc…
– Pour les noms on peut trouver Path, Variable, Item, Object,
Computer etc…
• PowerShell n’est absolument pas sensible à la casse
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 9
2.2 Get-Command
• Permet de découvrir toutes les commandes PowerShell
– Sans précision de paramètre elle retourne aussi
• Les fonctions, les workflows de la sessions, alias
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 10
• Get-Command –Verb verbe
– Retourne toutes les commandes commençant
par ce verbe
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 11
• Get-Command –Noun objet (Path, Variable,
Item, Object, Computer etc…
– Retourne toutes les commandes commençant
par le nom de cet objet
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 12
• Get-Command *
– Retourne une recherche générique
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 13
2.3 Get-Help
• Demander de l’aide 3 possibilités
– Get-Help nom_de_la_commande_recherchée
– Help nom_de_la_commande_recherchée
– nom_de_la_commande_recherchée -?
– 3 options possibles
• Sans option aide standard
• -Detailed aide détaillée
• -Full complète
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 14
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 15
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 16
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 17
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 18
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 19
• La commande Help seule donne toute la liste des rubriques
d’aide proposée en standard par PowerShell
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 20
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 21
• Aide conceptuelle
– Help about_* aide très précieuse lors d’une
création de script
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 22
2.4 Get-Member
• Get-Member Retourne toutes les
propriétés, méthodes et type d’un objet
Création de la variable nommée varbonjour
Son contenu est bonjour à tous et bienvenue à la découverte de PowerShell
Pour réaliser des actions spécifiques sur la variable,
nous allons utiliser la commande Get-Member
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 23
Indique le type de variable définit par PowerShell
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 24
Affichage des liste des noms de méthodes, propriétés et définitions associées à la
Variable $varbonjour
• A partir de maintenant, nous pouvons réaliser
quelques manipulations sur la variable
obtenir le contenu de la variable avec la
méthode ToUppper() pour passer de
Minuscule en majuscule
obtenir le nombre de caractères de la
Variable avec la propriété Length
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 25
3. Gestion générale des fichiers
1. Les alias
2. Get-ChildItem
3. Set-Location
4. Get-Location
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 26
3.1 Les alias
• Get-Alias liste tous les alias existants
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 27
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 28
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 29
• Les alias permettent d’associer une commande
PowerShell a une commande Dos
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 30
3.2 Get-ChildItem L’option -Force permet
d’afficher les fichiers
cachés repérables par h
• Get-ChildItem (= dans la colonne mode
gci, ls ou dir)
permet d’obtenir
fichiers et
dossiers
présents dans le
système de
fichiers
D : répertoire
A : archive
R : objet en lecture seule
H : objet caché
S : objet système
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 31
• Afficher tous les fichiers ayant l’extension .doc
contenus à l’intérieur d’une arborescence
Fichiers : *.doc
Arborescence : d:\REFFP\adm\
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 32
Exemple 1
• Obtenir tous les noms des fichiers dont la taille est
supérieure à 32 ko
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 33
Exemple 2
• Obtenir les fichiers dont la date de dernier
enregistrement est postérieure au 01/01/2019
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 34
• Get-ChildItem peut être suivi de l’option
-Attributes qui permet de spécifier le mode
recherché à savoir
D : répertoire
A : archive
R : objet en lecture seule
H : objet caché
S : objet système
• Et peut être associé à des combinaisons d’attributs
via les opérateurs
– + : ET logique
– , : OU logique
– ! : négation
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 35
Exemple 3
• Obtenir les fichiers ou les répertoires cachés à la
racine de la partition système
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 36
Exemple 4
• Obtenir les fichiers cachés mais pas les répertoires
cachés à la racine de la partition système
Sur c:\ , on recherche tous les attributs cachés et mais on
enlève les répertoires
C:\ : racine de la partition système
Hidden : attributs cachés
+ : ET logique
!directory : différent de directory
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 37
3.3 Set-Location
• Set-Location ( = sl, cd, chdir) permet de
se déplacer dans une arborescence de
dossiers
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 38
3.4 Get-Location
• Get-Location (= gl, psw) donne
l’emplacement actuel dans une
arborescence
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 39
4. Gestion des répertoires et des
fichiers
1. New-Item
2. Get-Content
3. Rename-Item
4. Move-Item
5. Remove-Item
6. Copy-Item
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 40
4.1 New-Item
• New-Item (= ni, md) création des répertoires ou
des fichiers
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 41
-Path : chemin d’accès
-ItemType : type d’élément à créer file pour fichier
- directory pour dossier
-Name : nom de l’élément à créer
-Value : contenu de l’élément à créer « bonjour à tous »
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 42
Exemple 5 et 6
• Créer un répertoire nommé jeteste dans c:
• Dans le répertoire nommé jeteste dans c:, créer un
fichier nommé roucoucou et contenant ‘Bonjour je
suis roucoucou ’
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 43
4.2 Get-Content
• Get-Content permet de lire le contenu
d’un fichier
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 44
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 45
4.3 Rename-Item
• Rename-Item –path\ancien_nom
–newname nouveau_nom renonne un
dossier ou un fichier
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 46
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 47
Exemple 7
• Renommer le fichier roucoucou en
roucoucou .doc
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 48
Exemple 8
• Renommer le répertoire jeteste situé sur la
racine c: en jedeteste
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 49
4.4 Move-Item
• Move-Item permet de déplacer un fichier
ou un dossier
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 50
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 51
Préparation de l’environnement :
Création des répertoires classeurs et fichiers sous le
répertoire c:\jedeteste
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 52
Exemple 9
• Déplacement du fichier [Link] de
c:\jedesteste vers c:\jedesteste\classeurs
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 53
Exemple 10
• Déplacement le répertoire c:\jedesteste\fichiers vers
c:\jedesteste\classeurs
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 54
4.5 Remove-Item
• Remove-Item permet de supprimer
fichiers ou dossiers
• Pour supprimer un fichier système, masqué
ou en lecture seule, utiliser le paramètre
-Force
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 55
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 56
Exemple 11
• Supprimer le fichier [Link] situé dans
c:\jedeteste\classeurs
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 57
Exemple 12
• Supprimer le répertoire c:\jedeteste et tout ce qu’il y
a dedans
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 58
4.6 Copy-Item
• Copy-Item pour copier fichiers et/ou
répertoires
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 59
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 60
5. Le PSProvider PowerShell
1. Les manipulations permises
2. Les PSProviders disponibles
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 61
5.1 Les manipulations permises
• Le PsProvider permet, grâce aux
commandes vues ci-dessus, de manipuler
– La base de registre
– Des variables
– Des variables d’environnement
– Des alias
– La base de certificats X.509 de l’ordinateur
– Le système de fichiers
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 62
5.2 Les PSProviders disponibles
• Il y en a 8 mais seuls 6 sont affichés par
défaut
– Get-PSProvider
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 63
8 PSProvider
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 64
Pour aller plus loin
• Bibliographie
– Windows PowerShell : Les
fondamentaux du langague -
Robin Lemesle, Arnaud
Petitjean – Collection ENI
– Windows PowerShell :
Fonctionnalités avancées,
Nouvelle édition - Nicolas
Baudin – Collection ENI
– Windows Server 2016 et
Powershell : Utilisez les
scripts pour automatiser vos
tâches quotidiennes
d'administration, Coffret de
2 livres - Robin Lemesle,
Arnaud Petitjean, Nicolas
Bonnet - Collection ENI
10/04/2021 SISR4 - Administration des serveurs - Scripting - Chap1 Découvrir PowerSchell 65