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

M104 Commandes PowerShell + TP

Ce document présente une série de commandes PowerShell pour la gestion des fichiers, des utilisateurs, des groupes, et des règles de pare-feu. Il inclut des exemples pratiques pour naviguer dans les répertoires, lire et écrire des fichiers, ainsi que gérer les utilisateurs locaux et les règles de sécurité. Un TP et sa correction sont également fournis pour tester les connaissances sur ces commandes.

Transféré par

sfilm113
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)
194 vues8 pages

M104 Commandes PowerShell + TP

Ce document présente une série de commandes PowerShell pour la gestion des fichiers, des utilisateurs, des groupes, et des règles de pare-feu. Il inclut des exemples pratiques pour naviguer dans les répertoires, lire et écrire des fichiers, ainsi que gérer les utilisateurs locaux et les règles de sécurité. Un TP et sa correction sont également fournis pour tester les connaissances sur ces commandes.

Transféré par

sfilm113
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

PowerShell 1

Commandes PowerShell
1. Aide et Recherche de Commandes
Commande Description
Get-Help <commande> Obtenir de l'aide sur une commande
Get-Command *mot* Rechercher des commandes contenant un mot

Get-Command mot* Rechercher des commandes qui commencent par un mot

Get-Command *mot Rechercher des commandes qui se terminent par un mot

Afficher toutes les commandes du pare-feu (firewall) :


• Get-Command *firewall*
Afficher toutes les commandes de copies (commencent par Copy) :
• Get-Command copy*
Afficher l’aide de la commande Set-Location:
• Get-Help set-location
• Get-Help set-location -Detailed (version detaillée de l’aide)
• Get-Help set-location -Full (version complète de l’aide)

2. Navigation entre Dossiers


Commande Description
Get-Location Affiche le chemin actuel (répertoire courant)
Set-Location <chemin> Change le répertoire courant

3. Lecture et Écriture de Fichier


Commande Description
Get-Content <chemin> Lit le contenu d'un fichier
Set-Content <chemin> "texte" Écrit dans un fichier et écrase son contenu précédent
Add-Content <chemin> "texte" Ajoute du texte dans un fichier SANS écraser son
contenu précédent

Écrire « Bonjour ID » dans le fichier [Link] :


• Set-Content [Link] “Bonjour ID”
Lire le contenu d’un fichier [Link] qui se trouve dans C:\Users\User\Desktop :
• Get-Content C:\Users\User\Desktop\[Link]
PowerShell 2

4. Gestion des Fichiers et Dossiers


Commande Description

New-Item -Path <chemin> -Type File/Directory Crée un fichier ou dossier

Copy-Item -Path <source> -Destination <dest> Copie un fichier/dossier

Move-Item -Path <source> -Destination <dest> Déplace un fichier/dossier

Rename-Item <ancient nom> <nouveau nom> Renomme un fichier/dossier

Remove-Item -Path <chemin> Supprime un fichier/dossier

Créer un fichier [Link] dans le répertoire C:\ :

• New-Item -Path C:\[Link] -Type File


• New-Item C:\[Link] (pas la peine d’entrer le -Type puisqu’on spécifie .pdf)

Créer un nouveau répertoire « PDF_Files » dans C:\Downloads :

• New-Item -Path C:\Downloads\PDF_Files -Type Directory

Déplacer le fichier [Link] dans C:\Downloads\PDF_Files :

• Move-Item C:\[Link] C:\Downloads\PDF_Files

Créer l’arborescence suivante dans votre répertoire courant :

• New-Item -Type Directory -Path ID\ID-101\Projets, ID\ID-101\Liste, ID\ID-102\Projets, ID\ID-102\Liste

Créer une copie de [Link] dans ID\ID-102\Projets :

• Copy-Item C:\Downloads\PDF_Files\[Link] ID\ID-102\Projets

Supprimer le fichier [Link] original :

• Remove-Item C:\Downloads\PDF_Files\[Link]
PowerShell 3

5. Liste des Fichiers et Dossiers


Commande Description
Get-ChildItem <chemin> Liste les fichiers/dossiers
Get-ChildItem <chemin> -Force Liste les fichiers/dossiers + cachés
Get-ChildItem <chemin> -File Liste les fichiers
Get-ChildItem <chemin> -Directory Liste les dossiers

Lister tous les fichiers présents dans le répertoire courant :

• Get-ChildItem

Lister tous les fichiers présents dans C:\ :

• Get-ChildItem C:\

6. Gestion des Utilisateurs et Groupes Locaux


Commande Description

Get-LocalUser Liste les utilisateurs locaux


New-LocalUser -Name <nom> -Password <mdp> Crée un utilisateur

Remove-LocalUser -Name <nom> Supprime un utilisateur

Set-LocalUser -Name <nom> -Password <mdp> Modifie un utilisateur

Get-LocalGroup Liste les groupes locaux

New-LocalGroup <nom> Crée un nouveau groupe local

Remove-LocalGroup <nom> Supprime un groupe local

Add-LocalGroupMember -Group <nom_du_groupe> Ajoute un utilisateur dans un groupe


-Member <nom_de_l’utilisateur>
Remove-LocalGroupMember -Group <nom_du_groupe> Retire un utilisateur d’un groupe
-Member <nom_de_l’utilisateur>

Créer un utilisateur “stagiaire” avec un mot de passe « Pass@123 » :

• New-LocalUser -Name stagiaire -Password (ConvertTo-SecureString “Pass@123” -AsPlainText -Force)

Supprimer cet utilisateur :

• Remove-LocalUser stagiaire
PowerShell 4

Créer un utilisateur “stagiaire2” avec un mot de passe « MdP@555 » en utilisant la variable $Password :

• $Password = (ConvertTo-SecureString “MdP@555” -AsPlainText -Force)


New-LocalUser -Name stagiaire2 -Password $Password

Modifier son mot de passe en « Password.123 » :

• Set-LocalUser -Name stagiaire2 -Password (ConvertTo-SecureString “Password.123” -AsPlainText -Force)

Créer un groupe local nommé « Staff » :

• New-LocalGroup Staff

Ajouter l’utilisateur stagiaire2 au groupe Staff :

• Add-LocalGroupMember -Group Staff -Member stagiaire2

7. Gestion du Pare-feu Windows Defender


Commande Description
Get-NetFirewallRule Liste les règles du pare-feu

New-NetFirewallRule -DisplayName <nom> -Direction Inbound/Outbound Crée une règle


-Action Allow/Block -Protocol <protocole> -LocalPort <port>
Remove-NetFirewallRule -DisplayName <nom> Supprime une règle
Set-NetFirewallRule -DisplayName <nom> -Enabled True/False -Direction Modifie une règle
Inbound/Outbound -Action Allow/Block …
Enable-NetFirewallRule -DisplayName <nom> Active une règle

Disable-NetFirewallRule -DisplayName <nom> Désactive une règle

Get-NetFirewallProfile Affiche les profils (Private,


Public, Domain) de pare-feu
Set-NetFirewallProfile <nom> -Enabled True/False Active/Désactive un profil de
pare-feu

Créer une règle de pare-feu qui bloque le trafic entrant SSH (SSH utilise le protocol TCP au port 22) :

• New-NetFirewallRule -DisplayName “Bloquer SSH entrant” -Action Block -Direction Inbound -Protocol TCP
-LocalPort 22

Modifier cette règle pour bloquer le trafic sortant :

• Set-NetFirewallRule -DisplayName “Bloquer SSH entrant” -Direction Outbound

Désactiver cette règle :

• Disable-NetFirewallRule -DisplayName “Bloquer SSH entrant”


PowerShell 5

Désactiver le profil publique du pare-feu :

• Set-NetFirewallProfile Public -Enabled False

8. Pipeline (Combiner des commandes)


Il est possible d’utiliser la sortie d’une commande comme entrée d’une autre commande en utilisant le
caractère Pipeline |

Exemple : Remplir un fichier texte [Link] par le résultat de la commande Get-ChildItem

• Get-ChildItem | Set-Content [Link]

9. Filtrage et Sélection
Commande Description
Select-Object <propriétés> Sélectionne des colonnes
Where-Object {condition} Filtre des données

Afficher uniquement les champs Name et Enabled des profils de pare-feu :


• Get-NetFirewallProfile | Select-Object Name,Enabled
Afficher uniquement les règles de pare-feu désactivées :
• Get-NetFirewallRule | Where-Object Enabled -eq False
PowerShell 6

TP PowerShell

1. Quelle commande permet d’afficher toutes les commandes des groupes locaux ?

2. Quelle commande donne l’aide détaillée sur Move-Item ?

3. Afficher le chemin du répertoire courant.

4. Se déplacer vers C:\Users\Public.

5. Créer un fichier [Link] dans C:\Temp.

6. Ajouter le texte "Ceci est un test" dans [Link] et écraser son contenu.

7. Renommer [Link] en notes_backup.txt.

8. Supprimer le fichier notes_backup.txt.

9. Créer un dossier C:\Temp\Projets\PowerShell en une seule commande.

10. Lire le contenu du fichier C:\Windows\System32\drivers\etc\hosts.

11. Ajouter la ligne "[Link] [Link]" dans ce fichier.

12. Créer un utilisateur local nommé Karim avec le mot de passe 2025Pass@123 (variable $Password)

13. Ajouter cet utilisateur au groupe Users.

14. Modifier le mot de passe de Karim en NewPass@456.

15. Supprimer l’utilisateur Karim.

16. Afficher toutes les règles du pare-feu.

17. Créer une règle qui bloque TCP au port 3389 (RDP).

18. Désactiver cette règle.

19. Modifier la règle pour changer l'action en Allow.

20. Supprimer la règle.

21. Lister uniquement les fichiers du répertoire C:\Windows\System32 (sans les dossiers).

22. Afficher uniquement les règles de pare-feu désactivées.

23. Lister uniquement les noms (Name) des utilisateurs locaux actifs.
PowerShell 7

Correction TP

1. Quelle commande permet d’afficher toutes les commandes des groupes locaux ?

Get-Command *LocalGroup*

2. Quelle commande donne l’aide détaillée sur Move-Item ?

Get-Help Move-Item -Detailed

3. Afficher le chemin du répertoire courant.

Get-Location

4. Se déplacer vers C:\Users\Public.

Set-Location C:\Users\Public

5. Créer un fichier [Link] dans C:\Temp.

New-Item C:\Temp\[Link]

6. Ajouter le texte "Ceci est un test" dans [Link] et écraser son contenu.

Set-Content C:\Temp\[Link] “Ceci est un test“

7. Renommer [Link] en notes_backup.txt.

Rename-Item C:\Temp\[Link] notes_backup.txt

8. Supprimer le fichier notes_backup.txt.

Remove-Item C:\Temp\notes_backup.txt

9. Créer un dossier C:\Temp\Projets\PowerShell en une seule commande.

New-Item -Type Directory -Path C:\Temp\Projets\PowerShell

10. Lire le contenu du fichier C:\Windows\System32\drivers\etc\hosts.

Get-Content C:\Windows\System32\drivers\etc\hosts

11. Ajouter la ligne "[Link] [Link]" dans ce fichier.

Add-Content C:\Windows\System32\drivers\etc\hosts “[Link] [Link]”

12. Créer un utilisateur local nommé Karim avec le mot de passe 2025Pass@123 (variable $Password)

$Password = (ConvertTo-SecureString “2025Pass@123” -AsPlainText -Force)

New-LocalUser -Name Karim -Password $Password


PowerShell 8

13. Ajouter cet utilisateur au groupe Users.

Add-LocalGroupMember -Group Users -Member Karim

14. Modifier le mot de passe de Karim en NewPass@456.

Set-LocalUser -Name Karim -Password (ConvertTo-SecureString “NewPass@456” -AsPlainText


-Force)

15. Supprimer l’utilisateur Karim.

Remove-LocalUser -Name Karim

16. Afficher toutes les règles du pare-feu.

Get-NetFirewallRule

17. Créer une règle qui bloque le trafic entrant TCP au port 3389 (RDP).

New-NetFirewallRule -DisplayName “Bloquer RDP entrant” -Action Block -Direction Inbound -


Protocol TCP -LocalPort 3389

18. Désactiver cette règle.

Disable-NetFirewallRule -DisplayName “Bloquer RDP entrant”

19. Modifier la règle pour changer l'action en Allow.

Set-NetFirewallRule -DisplayName “Bloquer RDP entrant” -Action Allow

20. Supprimer la règle.

Remove-NetFirewallRule -DisplayName “Bloquer RDP entrant”

21. Lister uniquement les fichiers du répertoire C:\Windows\System32 (sans les dossiers).

Get-ChildItem C:\Windows\System32 -File

22. Afficher uniquement les règles de pare-feu désactivées.

Get-NetFirewallRule | Where-Object Enabled -eq False

23. Lister uniquement les noms (Name) des utilisateurs locaux actifs.

Get-LocalUser | Where-Object Enabled -eq True | Select-Object Name

Vous aimerez peut-être aussi