Niveau : Débutant
Durée : 45–60 min
Module : Fondamentaux TIP
Découvrez les bases de l’invite de commandes et de PowerShell sous Windows afin de naviguer dans le système, obtenir des informations sur un poste et exécuter les premières commandes utiles au diagnostic informatique.
Introduction
Windows propose plusieurs interfaces en ligne de commande permettant d’administrer et de diagnostiquer un ordinateur.
Les deux principales sont :
- l’Invite de commandes, souvent appelée CMD ;
- PowerShell, plus moderne et beaucoup plus puissant.
Même si la plupart des opérations peuvent être réalisées avec l’interface graphique, la ligne de commande permet souvent d’obtenir une information plus rapidement, d’effectuer des diagnostics précis et d’automatiser certaines tâches.
Pour un technicien informatique, connaître quelques commandes essentielles permet notamment de :
- identifier un poste ;
- vérifier sa configuration réseau ;
- rechercher des fichiers ;tester une connexion ;
- consulter les processus ;
- vérifier l’état du système ;
- exécuter des opérations administratives.
🎯 Objectifs
À la fin de cette fiche, tu seras capable de :
- distinguer CMD et PowerShell ;
- ouvrir un terminal Windows ;
- comprendre la structure d’une commande ;
- naviguer dans les dossiers en ligne de commande ;
- afficher le contenu d’un dossier ;
- créer, copier, déplacer et supprimer des fichiers simples ;
- identifier le nom d’un ordinateur et l’utilisateur connecté ;
- afficher la configuration réseau ;
- tester la connectivité réseau ;
- identifier quelques commandes PowerShell utiles ;
- comprendre la notion de cmdlet ;
- utiliser l’aide intégrée de PowerShell ;
- reconnaître les précautions à prendre avec les commandes exécutées en administrateur.
1. Qu’est-ce qu’une ligne de commande ?
Une autre façon de communiquer avec l’ordinateur
Une interface graphique permet d’utiliser la souris, des fenêtres et des menus.
Une interface en ligne de commande permet d’envoyer directement des instructions au système sous forme de texte.
Par exemple, pour afficher le contenu d’un dossier dans CMD :
dir
Dans PowerShell :
Get-ChildItem
Les deux commandes permettent d’obtenir une liste des fichiers et dossiers présents à l’emplacement courant.
Pourquoi utiliser la ligne de commande ?
Elle présente plusieurs avantages :
- rapidité ;
- précision ;
- possibilité d’automatiser des tâches ;
- accès à certaines informations difficiles à obtenir graphiquement ;
- possibilité d’intervenir à distance ;
- création de scripts.
Elle est particulièrement utilisée dans :
- l’administration système ;
- le réseau ;
- la cybersécurité ;
- le support informatique ;
- l’automatisation.
🔧 Réflexe technicien
Une commande peut modifier immédiatement le système. Avant de l’exécuter, comprendre son rôle, vérifier ses paramètres et s’assurer que l’on travaille sur le bon poste ou le bon dossier.
2. CMD et PowerShell : quelles différences ?
L’Invite de commandes – CMD
CMD est l’interpréteur de commandes historique de Windows.
On peut l’ouvrir avec :
Windows + R
puis :
cmd
CMD permet notamment d’utiliser des commandes telles que :
dir
cd
ipconfig
ping
hostname
whoami
net user
Il reste très utilisé pour le dépannage et les commandes Windows classiques.
PowerShell
PowerShell est un environnement de ligne de commande et de script beaucoup plus évolué.
Pour l’ouvrir :
Windows + R
puis :
powershell
ou depuis Terminal Windows.
PowerShell utilise principalement des commandes appelées :
cmdlets
Exemples :
Get-Process
Get-Service
Get-ComputerInfo
Get-ChildItem
Une différence importante
CMD manipule principalement du texte.
PowerShell manipule généralement des objets contenant des propriétés structurées.
Cela permet ensuite de :
- filtrer les résultats ;
- sélectionner certaines informations ;
- trier les données ;
- exporter les résultats ;
- automatiser des traitements.
Exemple :
Get-Service
retourne une collection d’objets représentant les services Windows.
CMD reste utilisable dans PowerShell
De nombreuses commandes historiques fonctionnent également depuis PowerShell.
Par exemple :
ipconfig
ping
hostname
whoami
Cela facilite la transition entre les deux environnements.
🔧 Réflexe technicien
Utiliser CMD pour les commandes Windows simples et historiques, mais privilégier progressivement PowerShell dès qu’une tâche nécessite du filtrage, de l’administration ou de l’automatisation.
3. Comprendre la structure d’une commande
Une commande est généralement composée de plusieurs éléments.
Prenons cet exemple :
ping 192.168.1.254
On trouve :
ping → la commande
192.168.1.254 → la cible de la commande
Certaines commandes disposent également d’options.
Exemple :
ping -t 192.168.1.254
L’option :
-t
demande ici de poursuivre les tests jusqu’à l’arrêt manuel de la commande.
Les paramètres PowerShell
Avec PowerShell, les paramètres sont généralement explicites.
Exemple :
Get-Service -Name Spooler
On trouve :
Get-Service→ la cmdlet
-Name→ le paramètre
Spooler→ la valeur fournie au paramètre
Cette syntaxe rend généralement les commandes PowerShell plus lisibles.
La touche Tabulation
Dans le terminal, la touche :
Tab
permet souvent de compléter automatiquement :
- une commande ;
- un chemin ;
- un nom de fichier ;
- certains paramètres.
Cela réduit les erreurs de saisie.
L’historique des commandes
Les touches :
↑ et ↓
permettent de retrouver les commandes précédemment exécutées.
C’est particulièrement pratique lorsqu’une commande longue doit être corrigée ou relancée.
🔧 Réflexe technicien
Utiliser l’autocomplétion avec Tab plutôt que de retaper manuellement les chemins longs : cela accélère le travail et limite les erreurs de saisie.
4. Naviguer dans les dossiers
Connaître l’emplacement courant
Lorsque CMD ou PowerShell est ouvert, l’invite indique généralement le dossier dans lequel on se trouve.
Exemple dans CMD :
C:\Users\Utilisateur>
Exemple dans PowerShell :
PS C:\Users\Utilisateur>
Le chemin affiché correspond au répertoire courant.
Afficher le contenu d’un dossier
Dans CMD :
dir
Dans PowerShell :
Get-ChildItem
PowerShell accepte également :
dir
car dir y fonctionne comme un alias de Get-ChildItem.
La commande permet notamment d’afficher :
- les fichiers ;
- les sous-dossiers ;
- leur nom ;
- leur taille ;
- leur date de modification.
Changer de dossier
La commande :
cd
signifie :
Change Directory
Exemple :
cd Documents
permet d’entrer dans le dossier Documents.
Pour revenir au dossier parent :
cd ..
Utiliser un chemin complet
Il est également possible de saisir directement un chemin.
Exemple :
cd C:\Users\Utilisateur\Documents
Si le chemin contient des espaces, il est préférable d’utiliser des guillemets.
Exemple :
cd "C:\Program Files"
Revenir à la racine du disque
Depuis CMD :
cd \
permet de revenir à :
C:\
Changer de lecteur
Dans CMD, pour passer par exemple sur le lecteur D :
D:
Dans PowerShell, la même syntaxe fonctionne également :
D:
🔧 Réflexe technicien
Avant de créer, déplacer ou supprimer un fichier en ligne de commande, vérifier toujours le chemin courant. Une commande correcte exécutée dans le mauvais dossier peut avoir des conséquences importantes.
5. Manipuler des fichiers et des dossiers
Créer un dossier
Dans CMD :
mkdir Test
ou :
md Test
Dans PowerShell :
New-Item -ItemType Directory -Name Test
Créer un fichier simple
Avec PowerShell :
New-Item test.txt
Pour créer directement un fichier avec du contenu :
"Bonjour" | Set-Content test.txt
Copier un fichier
Dans CMD :
copy test.txt sauvegarde.txt
Dans PowerShell :
Copy-Item test.txt sauvegarde.txt
Déplacer un fichier
Dans CMD :
move test.txt C:\Temp
Dans PowerShell :
Move-Item test.txt C:\Temp
Renommer un fichier
Dans CMD :
ren test.txt test2.txt
Dans PowerShell :
Rename-Item test.txt test2.txt
Supprimer un fichier
Dans CMD :
del test.txt
Dans PowerShell :
Remove-Item test.txt
Supprimer un dossier
Dans CMD :
rmdir Test
Dans PowerShell :
Remove-Item Test
Si le dossier contient des fichiers, PowerShell peut nécessiter :
Remove-Item Test -Recurse
Attention aux suppressions
Une suppression réalisée en ligne de commande peut ne pas passer par la Corbeille.
Il faut donc éviter d’utiliser des commandes de suppression sans vérifier :
- le dossier courant ;
- le nom du fichier ou dossier ;
- le chemin ciblé ;
- les paramètres utilisés.
🔧 Réflexe technicien
Avant une commande de suppression, afficher d’abord le contenu du dossier avec dir ou Get-ChildItem. Cela permet de confirmer visuellement les éléments présents avant toute action.
6. Identifier rapidement un poste Windows
Lors d’une intervention, plusieurs commandes permettent d’obtenir immédiatement des informations utiles.
Identifier le nom du poste
hostname
Exemple de résultat :
PC-COMPTA-07
Le nom du poste est notamment utile pour :
- identifier la machine dans un parc ;
- intervenir à distance ;
- consulter un inventaire ;
- rechercher un équipement dans un outil de supervision.
Identifier l’utilisateur connecté
whoami
Exemple :
PC-COMPTA-07\jdupont
Dans un environnement de domaine, le résultat peut également ressembler à :
ENTREPRISE\jdupont
Afficher les groupes de l’utilisateur
whoami /groups
Cette commande est utile pour diagnostiquer certains problèmes de droits.
Afficher des informations système
Dans CMD :
systeminfo
Cette commande permet notamment d’obtenir :
- le nom du système ;
- la version de Windows ;
- le fabricant ;
- le modèle ;
- certaines informations réseau ;
- la mémoire installée.
Avec PowerShell :
Get-ComputerInfo
Cette commande fournit un ensemble très complet d’informations sur le poste.
Afficher la version de Windows
On peut également lancer :
winver
Cette commande ouvre une fenêtre indiquant la version de Windows installée.
🔧 Réflexe technicien
Au début d’un diagnostic, quelques commandes simples comme hostname, whoami, systeminfo et ipconfig permettent de confirmer rapidement que l’on intervient bien sur le poste attendu et d’obtenir son contexte technique.
7. Afficher la configuration réseau
Les commandes réseau font partie des outils les plus utilisés lors d’un diagnostic informatique.
Afficher la configuration IP
Dans CMD ou PowerShell :
ipconfig
Cette commande affiche notamment :
- l’adresse IPv4 ;
- le masque de sous-réseau ;
- la passerelle par défaut.
Pour obtenir davantage d’informations :
ipconfig /all
Cette commande permet notamment d’afficher :
- le nom de la carte réseau ;
- l’adresse MAC ;
- l’état DHCP ;
- les serveurs DNS ;
- l’adresse IPv4 ;
- la passerelle ;
- certaines informations DHCP.
Exemple
Carte Ethernet Ethernet :
Adresse IPv4 . . . . . . . . . : 192.168.1.25
Masque de sous-réseau . . . . . : 255.255.255.0
Passerelle par défaut . . . . . : 192.168.1.254
On peut ici identifier rapidement :
IP du poste →
192.168.1.25
réseau →
192.168.1.0/24
passerelle →
192.168.1.254
Vérifier les serveurs DNS
Avec :
ipconfig /all
repérer la ligne :
Serveurs DNS
Un mauvais serveur DNS peut provoquer des problèmes d’accès aux sites ou aux ressources réseau alors même que la connexion IP fonctionne.
PowerShell
PowerShell fournit également des cmdlets dédiées au réseau.
Exemple :
Get-NetIPConfiguration
Cette commande affiche une synthèse de la configuration réseau.
Pour consulter les adresses IP :
Get-NetIPAddress
🔧 Réflexe technicien
Lors d’un problème réseau, vérifier d’abord l’adresse IP, le masque, la passerelle et les DNS avant de modifier la configuration.
8. Tester la connectivité réseau avec ping
Le rôle de ping
La commande :
ping
permet d’envoyer des requêtes ICMP vers une machine distante afin de vérifier si elle répond.
Exemple :
ping 192.168.1.254
Résultat possible :
Réponse de 192.168.1.254 : octets=32 temps=1 ms TTL=64
Cela indique que la cible répond.
Tester la pile réseau locale
On peut commencer par :
ping 127.0.0.1
L’adresse :
127.0.0.1
correspond à l’interface de boucle locale, appelée également :
localhost
Ce test permet notamment de vérifier que la pile TCP/IP locale fonctionne.
Tester la passerelle
Ensuite :
ping 192.168.1.254
Si la passerelle répond, la communication avec le réseau local fonctionne probablement.
Tester Internet par adresse IP
Exemple :
ping 8.8.8.8
Si cette commande fonctionne mais qu’un nom de domaine ne répond pas, il peut s’agir d’un problème DNS.
Tester un nom de domaine
ping www.example.com
Si le nom est correctement résolu, Windows affiche également l’adresse IP correspondante.
Attention
L’absence de réponse au ping ne signifie pas nécessairement qu’une machine est hors ligne.
Certains pare-feu bloquent les requêtes ICMP.
Il faut donc interpréter le résultat dans son contexte.
PowerShell
PowerShell propose :
Test-Connection 192.168.1.254
Cette cmdlet permet d’effectuer un test comparable à ping.
🔧 Réflexe technicien
Tester progressivement : poste local → passerelle → adresse Internet → nom DNS. Cette méthode permet de localiser plus rapidement l’origine d’une panne réseau.
9. Tester la résolution DNS
À quoi sert le DNS ?
Le DNS permet de convertir un nom comme :
www.example.com
en adresse IP.
Un problème DNS peut donc donner l’impression qu’Internet ne fonctionne plus alors que la connectivité IP est correcte.
La commande nslookup
Dans CMD ou PowerShell :
nslookup www.example.com
La commande affiche notamment :
- le serveur DNS utilisé ;
- l’adresse IP obtenue pour le nom demandé.
Exemple
Serveur : dns.local
Address: 192.168.1.1
Nom : www.example.com
Address: 93.184.216.34
Diagnostic simple
Si :
ping 8.8.8.8
fonctionne mais :
ping www.example.com
échoue avec un problème de résolution de nom, il faut notamment vérifier :
- le serveur DNS configuré ;
- son accessibilité ;
- la configuration IP du poste.
Avec PowerShell
PowerShell dispose également de :
Resolve-DnsName www.example.com
Cette cmdlet fournit généralement davantage d’informations sur la résolution DNS.
🔧 Réflexe technicien
Pour distinguer un problème de connectivité d’un problème DNS, tester d’abord une adresse IP puis un nom de domaine.
10. Identifier le chemin suivi sur le réseau
La commande tracert
La commande :
tracert
permet d’observer les différents équipements traversés pour atteindre une destination.
Exemple :
tracert www.example.com
Le résultat affiche une succession de :
sauts réseau
Chaque saut correspond généralement à un routeur traversé.
Pourquoi est-ce utile ?
Cette commande peut aider à identifier :
- l’endroit où une communication s’interrompt ;
- un problème de routage ;
- une forte latence sur une partie du trajet ;
- le chemin utilisé jusqu’à une destination.
Exemple simplifié
1 1 ms 1 ms 1 ms 192.168.1.254
2 10 ms 9 ms 10 ms 10.10.0.1
3 18 ms 17 ms 18 ms 203.0.113.1
Le premier saut correspond souvent à la passerelle du réseau local.
PowerShell
On peut également utiliser :
Test-NetConnection www.example.com -TraceRoute
🔧 Réflexe technicien
Utiliser tracert lorsque le poste communique correctement sur le réseau local mais rencontre des difficultés pour atteindre une destination distante.
11. Tester l’accès à un port réseau
Un serveur peut être joignable sur le réseau mais le service recherché peut être inaccessible.
Exemple :
le serveur répond au ping, mais le site web ne fonctionne pas.
Il faut alors tester le port utilisé par le service.
Avec PowerShell
La commande :
Test-NetConnection serveur -Port 443
permet de tester l’accès au port HTTPS.
Exemple :
Test-NetConnection 192.168.1.20 -Port 443
On peut notamment obtenir :
TcpTestSucceeded : True
Cela indique que la connexion TCP au port 443 a réussi.
Quelques ports courants
| Service | Port |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| DNS | 53 |
| SSH | 22 |
| RDP | 3389 |
| SMB | 445 |
Ces numéros seront étudiés plus précisément dans les modules réseau.
Exemple de diagnostic
Un serveur :
192.168.1.20
répond à :
ping 192.168.1.20
mais :
Test-NetConnection 192.168.1.20 -Port 443
retourne :
TcpTestSucceeded : False
La machine est joignable, mais le service HTTPS n’est pas accessible sur ce port.
Le problème peut notamment provenir :
- du service lui-même ;
- du pare-feu ;
- d’une règle réseau ;
- d’une mauvaise configuration.
🔧 Réflexe technicien
Ne pas confondre machine joignable et service accessible. Un ping réussi ne garantit pas qu’un service TCP particulier fonctionne.
12. Consulter les processus avec PowerShell
Qu’est-ce qu’un processus ?
Un processus est une instance d’un programme en cours d’exécution.
Pour afficher les processus :
Get-Process
La commande retourne notamment :
- le nom du processus ;
- son identifiant ;
- son utilisation processeur ;
- sa consommation mémoire.
Rechercher un processus précis
Exemple :
Get-Process -Name notepad
Cette commande recherche le processus du Bloc-notes.
Trier les résultats
PowerShell permet de chaîner les commandes.
Exemple :
Get-Process | Sort-Object CPU -Descending
Cette commande trie les processus selon leur consommation CPU.
Le symbole :
|
est appelé :
pipeline
Il permet de transmettre le résultat d’une commande à une autre.
Exemple
Get-Process | Sort-Object WorkingSet -Descending
permet d’identifier les processus utilisant le plus de mémoire.
🔧 Réflexe technicien
Avant d’arrêter un processus, identifier précisément son rôle. Certains processus sont indispensables au fonctionnement de Windows ou d’une application métier.
13. Consulter les services avec PowerShell
Pour afficher les services Windows :
Get-Service
La commande indique notamment :
- le nom du service ;
- son nom d’affichage ;
- son état.
Exemple :
Get-Service -Name Spooler
permet de consulter le service d’impression.
Résultat possible :
Status Name DisplayName
------ ---- -----------
Running Spooler Spouleur d’impression
Filtrer les services en cours d’exécution
Get-Service | Where-Object Status -eq "Running"
Cette commande illustre l’un des principaux avantages de PowerShell : la possibilité de filtrer facilement les objets retournés.
Redémarrer un service
Avec les privilèges nécessaires :
Restart-Service -Name Spooler
Cette commande redémarre le service d’impression.
Elle doit être utilisée avec précaution sur un poste ou un serveur en production.
🔧 Réflexe technicien
Avant de démarrer, arrêter ou redémarrer un service, vérifier son rôle, son état et l’impact potentiel sur les utilisateurs.
14. Utiliser l’aide de PowerShell
PowerShell dispose d’une aide intégrée permettant de comprendre le rôle d’une commande et ses paramètres.
Rechercher une commande
Pour rechercher des commandes contenant un mot précis :
Get-Command *service*
Cette commande permet de repérer les cmdlets liées aux services.
Exemple de résultats :
Get-Service
Start-Service
Stop-Service
Restart-Service
Obtenir de l’aide sur une cmdlet
Pour consulter l’aide d’une commande :
Get-Help Get-Service
On obtient notamment :
- une description ;
- la syntaxe ;
- les paramètres disponibles.
Pour afficher des exemples :
Get-Help Get-Service -Examples
Pour obtenir davantage de détails :
Get-Help Get-Service -Detailed
Comprendre le nom des cmdlets
Les cmdlets PowerShell suivent généralement la forme :
Verbe-Nom
Exemples :
Get-Process
Get-Service
Get-ComputerInfo
Start-Service
Stop-Service
Restart-Service
Les verbes indiquent généralement l’action :
Get→ obtenir ou afficher
Set→ modifier une configuration
New→ créer
Remove→ supprimer
Start→ démarrer
Stop→ arrêter
Restart→ redémarrer
Cette logique facilite la compréhension de nombreuses commandes.
🔧 Réflexe technicien
Lorsqu’une cmdlet est inconnue, utiliser Get-Help avant de l’exécuter, particulièrement lorsqu’elle contient des verbes comme Remove, Stop ou Set.
15. Sélectionner et filtrer des informations
L’un des principaux avantages de PowerShell est de pouvoir exploiter les objets retournés par les commandes.
Sélectionner certaines propriétés
La commande :
Get-Process
retourne de nombreuses informations.
On peut n’afficher que certaines colonnes :
Get-Process | Select-Object Name, Id
Le résultat devient plus lisible :
Name Id
---- --
explorer 4580
notepad 7124
Filtrer les résultats
Pour afficher uniquement les services arrêtés :
Get-Service | Where-Object Status -eq "Stopped"
Pour afficher uniquement les processus portant un nom précis :
Get-Process | Where-Object ProcessName -eq "explorer"
Trier les résultats
Exemple :
Get-Process | Sort-Object CPU -Descending
permet de classer les processus du plus consommateur au moins consommateur de CPU.
Limiter le nombre de résultats
Pour afficher seulement les cinq premiers :
Get-Process | Select-Object -First 5
Combiner plusieurs commandes
PowerShell permet de construire progressivement une commande.
Exemple :
Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 5 Name, CPU
Cette commande permet d’obtenir les cinq processus ayant consommé le plus de temps processeur parmi ceux retournés.
Le pipeline
Le symbole :
|
transmet le résultat d’une commande à la suivante.
On peut le représenter ainsi :
Obtenir les données → Filtrer → Trier → Sélectionner → Afficher
C’est un principe fondamental de PowerShell.
🔧 Réflexe technicien
Construire une commande PowerShell progressivement. Vérifier d’abord le résultat de Get-..., puis ajouter les filtres ou les actions nécessaires.
16. Exporter les résultats d’une commande
Les résultats PowerShell peuvent être enregistrés pour :
- constituer un diagnostic ;
- transmettre des informations ;
- conserver une trace ;
- analyser les données plus tard.
Exporter vers un fichier texte
Exemple :
Get-Service | Out-File C:\Temp\services.txt
Exporter vers un fichier CSV
Get-Service | Export-Csv C:\Temp\services.csv -NoTypeInformation
Un fichier CSV peut ensuite être ouvert avec un tableur.
Exemple : inventaire simple
Get-Process |
Select-Object Name, Id, CPU |
Export-Csv C:\Temp\processus.csv -NoTypeInformation
Le fichier contient les informations sélectionnées sur les processus.
Afficher et enregistrer simultanément
La cmdlet :
Tee-Object
permet notamment de conserver le résultat tout en continuant à le transmettre dans le pipeline.
Cette notion sera approfondie dans les modules d’automatisation.
🔧 Réflexe technicien
Lors d’un diagnostic, exporter les résultats importants avant d’effectuer des modifications. Cela permet de conserver une trace de l’état initial du poste.
17. Exécuter une commande avec des droits administrateur
Certaines opérations nécessitent une élévation de privilèges.
Ouvrir un terminal administrateur
Depuis le menu Démarrer :
rechercher Terminal
puis :
clic droit → Exécuter en tant qu’administrateur
Une demande UAC peut apparaître.
Comment reconnaître une session élevée ?
Le titre de la fenêtre peut notamment contenir :
Administrateur
On peut également constater qu’une commande auparavant refusée fonctionne désormais.
Toutes les commandes ne nécessitent pas l’administration
Par exemple :
hostname
whoami
ipconfig
ping
peuvent généralement être exécutées sans élévation.
En revanche, certaines opérations de configuration système, de gestion des services ou de modification protégée peuvent nécessiter des droits supplémentaires.
Ne pas travailler systématiquement en administrateur
Il est préférable d’ouvrir une session élevée uniquement lorsqu’elle est nécessaire.
Cela limite les conséquences d’une erreur.
Exemple
La commande :
Get-Service
consulte les services.
Elle ne modifie rien.
À l’inverse :
Stop-Service -Name Spooler
effectue une action sur le système et peut nécessiter des privilèges appropriés.
🔧 Réflexe technicien
Commencer avec les droits standards. N’utiliser une console administrateur que lorsque l’opération à réaliser l’exige réellement.
18. Attention aux commandes copiées depuis Internet
La ligne de commande permet d’effectuer des actions puissantes et parfois irréversibles.
Il ne faut jamais exécuter une commande uniquement parce qu’un site, un forum ou un message demande de la copier.
Avant d’exécuter une commande
Il faut être capable de déterminer :
- quelle commande sera exécutée ;
- sur quels fichiers ou éléments elle agit ;
- si elle modifie le système ;
- si elle supprime des données ;
- si elle télécharge ou exécute un programme ;
- si elle nécessite des privilèges élevés.
Exemple dangereux
Une commande utilisant :
Remove-Item
peut supprimer des données.
Une commande associée à :
-Recurse
peut agir sur toute une arborescence.
L’option :
-Force
peut également modifier le comportement normal de certaines commandes.
Cela ne signifie pas que ces paramètres sont mauvais : ils sont parfaitement légitimes lorsqu’ils sont utilisés volontairement et correctement.
Les scripts PowerShell
Un fichier PowerShell possède généralement l’extension :
.ps1
Avant d’exécuter un script inconnu, il faut examiner son contenu et comprendre ce qu’il réalise.
🔧 Réflexe technicien
Ne jamais exécuter aveuglément une commande ou un script trouvé sur Internet. Lire la commande, identifier les actions réalisées et vérifier qu’elle correspond exactement au besoin.
🧪 Manipulation pratique
Manipulation pratique
Objectif
Utiliser CMD et PowerShell pour réaliser un premier diagnostic simple d’un poste Windows sans modifier sa configuration.
Étape 1 – Ouvrir CMD
Appuyer sur :
Windows + R
Puis saisir :
cmd
Valider avec Entrée.
Étape 2 – Identifier le poste
Saisir :
hostname
Noter le nom de l’ordinateur.
Puis :
whoami
Noter le compte utilisé.
Enfin :
systeminfo
Repérer notamment :
- la version de Windows ;
- le fabricant ;
- le modèle ;
- la mémoire installée.
Étape 3 – Vérifier la configuration réseau
Saisir :
ipconfig /all
Relever :
- l’adresse IPv4 ;
- le masque ;
- la passerelle ;
- les serveurs DNS ;
- l’adresse MAC.
Étape 4 – Tester la connectivité
Tester d’abord la pile locale :
ping 127.0.0.1
Puis la passerelle :
ping adresse_de_la_passerelle
Exemple :
ping 192.168.1.254
Puis une adresse Internet :
ping 8.8.8.8
Enfin un nom de domaine :
ping www.example.com
Comparer les résultats.
Étape 5 – Tester le DNS
Saisir :
nslookup www.example.com
Repérer :
- le serveur DNS utilisé ;
- l’adresse IP retournée.
Étape 6 – Observer le chemin réseau
Saisir :
tracert www.example.com
Repérer :
- le premier saut ;
- les équipements intermédiaires ;
- les éventuelles interruptions.
Étape 7 – Ouvrir PowerShell
Appuyer sur :
Windows + R
Puis saisir :
powershell
Étape 8 – Refaire quelques vérifications avec PowerShell
Afficher la configuration réseau :
Get-NetIPConfiguration
Afficher les processus :
Get-Process
Afficher les services :
Get-Service
Afficher les informations système :
Get-ComputerInfo
Étape 9 – Utiliser le pipeline
Afficher les cinq processus ayant consommé le plus de CPU :
Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 5 Name, CPU
Observer la logique :
obtenir → trier → sélectionner
Étape 10 – Consulter un service
Saisir :
Get-Service -Name Spooler
Repérer son état :
Running
ou :
Stopped
Ne pas le modifier pour cette manipulation.
Étape 11 – Tester un port réseau
Exemple :
Test-NetConnection www.example.com -Port 443
Repérer la ligne :
TcpTestSucceeded
Si elle affiche :
True
la connexion TCP au port 443 a réussi.
Étape 12 – Utiliser l’aide
Saisir :
Get-Help Get-Service
Puis :
Get-Help Get-Service -Examples
Observer :
- la syntaxe ;
- les paramètres ;
- les exemples proposés.
Tableau de relevé
| Élément | Valeur relevée |
|---|---|
| Nom du poste | |
| Utilisateur connecté | |
| Version de Windows | |
| Adresse IPv4 | |
| Passerelle | |
| Serveur DNS | |
| Ping passerelle | Réussi / Échec |
| Ping Internet | Réussi / Échec |
| Résolution DNS | Réussie / Échec |
| Port 443 accessible | Oui / Non |
| État du service Spooler |
🔧 Réflexe technicien
Lors d’un diagnostic, commencer par des commandes qui consultent l’état du poste avant d’utiliser des commandes qui le modifient. Cela permet de comprendre la situation initiale et d’éviter des changements inutiles.
🧪 TP 0.9 — Diagnostiquer un problème réseau avec CMD et PowerShell
Situation
Un utilisateur signale :
« Je n’arrive plus à accéder à Internet depuis mon poste. »
Le poste est démarré normalement, la session Windows fonctionne, mais le navigateur n’affiche aucun site.
L’objectif est de diagnostiquer méthodiquement le problème sans modifier immédiatement la configuration.
Objectif
À l’issue du TP, tu dois être capable de :
- identifier le poste et l’utilisateur ;
- contrôler la configuration IP ;
- tester la pile réseau locale ;
- tester la passerelle ;
- vérifier l’accès à Internet ;
- distinguer un problème réseau d’un problème DNS ;
- utiliser PowerShell pour compléter le diagnostic.
Étape 1 – Identifier le poste
Dans CMD :
hostname
Résultat :
PC-TIP-07
Puis :
whoami
Résultat :
PC-TIP-07\stagiaire
Le diagnostic concerne donc bien le poste attendu.
Étape 2 – Vérifier la configuration IP
Exécuter :
ipconfig /all
Résultat simplifié :
Adresse IPv4 . . . . . . . . . : 192.168.1.42
Masque de sous-réseau . . . . . : 255.255.255.0
Passerelle par défaut . . . . . : 192.168.1.254
Serveurs DNS . . . . . . . . . : 192.168.1.10
La configuration semble cohérente.
Étape 3 – Tester la pile TCP/IP locale
ping 127.0.0.1
Résultat :
Réponse de 127.0.0.1
La pile TCP/IP locale fonctionne.
Étape 4 – Tester la passerelle
ping 192.168.1.254
Résultat :
Réponse de 192.168.1.254
Le poste communique avec sa passerelle.
Le réseau local fonctionne donc au moins jusqu’au routeur.
Étape 5 – Tester Internet par adresse IP
ping 8.8.8.8
Résultat :
Réponse de 8.8.8.8
La connectivité IP vers Internet fonctionne.
Étape 6 – Tester un nom de domaine
ping www.example.com
Résultat :
La requête Ping n’a pas pu trouver l’hôte www.example.com.
Le poste atteint Internet par adresse IP mais ne parvient pas à résoudre un nom.
Le problème semble donc lié au DNS.
Étape 7 – Tester la résolution DNS
nslookup www.example.com
Résultat :
Serveur : UnKnown
Address: 192.168.1.10
*** Impossible de trouver www.example.com
Le serveur DNS configuré ne répond pas correctement à la requête.
Étape 8 – Vérifier avec PowerShell
Dans PowerShell :
Get-NetIPConfiguration
Vérifier que l’interface utilisée possède bien :
- une IPv4 ;
- une passerelle ;
- un serveur DNS.
Puis :
Resolve-DnsName www.example.com
Le résultat échoue également.
Cela confirme que le problème concerne la résolution DNS.
Étape 9 – Tester un service distant
Pour vérifier l’accès HTTPS indépendamment de la résolution DNS, utiliser une adresse IP connue dans un environnement de test adapté.
Exemple de syntaxe :
Test-NetConnection 192.0.2.10 -Port 443
Le but est de distinguer :
connectivité réseau
de :
accessibilité d’un service précis
Diagnostic
Les tests montrent :
pile TCP/IP locale → OK
passerelle → OK
accès Internet par IP → OK
résolution DNS → Échec
La panne se situe donc probablement au niveau du service DNS configuré ou de sa configuration.
Questions du TP
- 1. Pourquoi le test
ping 127.0.0.1est-il effectué en premier ? - 2. Que permet de vérifier le ping de la passerelle ?
- 3. Si
ping 8.8.8.8fonctionne mais qu’un nom de domaine échoue, quelle piste devient prioritaire ? - A. La RAM
- B. Le DNS
- C. Le disque
- D. Le clavier
- 4. Quelle commande permet d’interroger directement un serveur DNS ?
- A.
hostname - B.
nslookup - C.
whoami - D.
dir
- A.
- 5. Quelle cmdlet PowerShell permet de tester la résolution d’un nom ?
- A.
Get-Service - B.
Resolve-DnsName - C.
Get-Process - D.
Get-ChildItem
- A.
- 6. Un ping réussi vers un serveur garantit-il que son service HTTPS fonctionne ?
- 7. Quelle commande PowerShell permet de tester l’accès au port 443 ?
- 8. Pourquoi faut-il commencer par observer avant de modifier la configuration réseau ?
Correction attendue
- 1.
ping 127.0.0.1permet de vérifier le fonctionnement de la pile TCP/IP locale.
2. Il permet de vérifier que le poste peut communiquer avec sa passerelle et donc sortir de son segment réseau local.
3. B – Le DNS.
4. B –nslookup.
5. B –Resolve-DnsName.
6. Non. Le ping teste une communication ICMP. Il ne garantit pas qu’un service TCP particulier est disponible.
7.Test-NetConnection serveur -Port 443
8. Parce qu’une modification prématurée peut masquer la cause initiale du problème ou créer une nouvelle panne. Il faut d’abord recueillir les informations et localiser précisément l’origine du dysfonctionnement.
Conclusion du TP
Pour diagnostiquer un problème réseau simple :
identifier → vérifier IP → tester local → tester passerelle → tester Internet → tester DNS → tester le service
Cette méthode progressive permet d’éviter les modifications inutiles et de localiser plus rapidement l’origine de la panne.
🎓 À l’examen TIP
Lors d’un diagnostic avec CMD ou PowerShell, l’objectif n’est pas seulement de connaître des commandes, mais de savoir les utiliser dans le bon ordre.
Une méthode simple à retenir :
identifier le poste → observer la configuration → tester la connectivité → tester la résolution DNS → tester le service concerné → interpréter les résultats
Il faut également être capable de distinguer une commande de consultation d’une commande de modification, et de n’utiliser une console administrateur que lorsque cela est réellement nécessaire.
✅ À retenir
CMD → interpréteur de commandes historique de Windows.
PowerShell → environnement de ligne de commande et de script plus évolué, basé sur des objets.
Cmdlet → commande PowerShell généralement construite sous la forme Verbe-Nom.
Exemples : Get-Service, Get-Process, Get-ComputerInfo.
dir → affiche le contenu d’un dossier.
cd → change de répertoire.
cd .. → remonte au dossier parent.
hostname → affiche le nom du poste.
whoami → affiche l’utilisateur connecté.
whoami /groups → affiche les groupes de l’utilisateur.
systeminfo → affiche des informations détaillées sur le système.
ipconfig → affiche la configuration réseau.
ipconfig /all → affiche la configuration réseau détaillée.
ping → teste la connectivité vers une cible.
nslookup → teste la résolution DNS.
tracert → affiche les différents sauts réseau jusqu’à une destination.
Test-NetConnection → permet notamment de tester l’accès à un port TCP.
Get-Process → affiche les processus en cours d’exécution.
Get-Service → affiche les services Windows.
Get-NetIPConfiguration → affiche une synthèse de la configuration réseau.
Resolve-DnsName → teste la résolution DNS avec PowerShell.
Get-Help → affiche l’aide d’une commande PowerShell.
Get-Command → recherche les commandes disponibles.
Pipeline | → transmet le résultat d’une commande à la suivante.
Exemple : Get-Process | Sort-Object CPU -Descending | Select-Object -First 5
Export-Csv → exporte les résultats d’une commande vers un fichier CSV.
Principe essentiel → commencer par observer avant de modifier.
Console administrateur → à utiliser uniquement lorsqu’une opération nécessite réellement une élévation de privilèges.
Commande ou script inconnu → ne jamais l’exécuter sans comprendre ce qu’il fait.
📝 Quiz – Premiers pas avec CMD et PowerShell
Quiz final
1. Quelle commande permet d’afficher le nom du poste Windows ?
A. whoami
B. hostname
C. ipconfig
D. systeminfo
2. Quelle commande permet d’afficher l’utilisateur actuellement connecté ?
A. hostname
B. whoami
C. netstat
D. dir
3. Quelle commande affiche la configuration réseau détaillée ?
A. ipconfig /all
B. ping /all
C. systeminfo /net
D. hostname /all
4. Quelle commande permet de tester la résolution DNS ?
A. ping
B. nslookup
C. dir
D. whoami
5. Quelle cmdlet PowerShell permet d’afficher les processus en cours d’exécution ?
A. Get-Service
B. Get-Process
C. Get-ComputerInfo
D. Get-NetIPAddress
6. À quoi sert le caractère | dans PowerShell ?
A. À supprimer un fichier
B. À exécuter PowerShell en administrateur
C. À transmettre le résultat d’une commande à la suivante
D. À ouvrir un nouveau terminal
7. Quelle commande PowerShell permet de tester l’accès au port TCP 443 d’un serveur ?
A. Ping serveur -Port 443
B. Get-NetIPConfiguration 443
C. Test-NetConnection serveur -Port 443
D. Resolve-DnsName serveur -Port 443
8. Quelle commande permet d’obtenir de l’aide sur Get-Service ?
A. Help-Service
B. Get-Command Get-Service
C. Get-Help Get-Service
D. Get-Service -HelpMe
9. Si le ping vers une adresse IP Internet fonctionne mais qu’un nom de domaine ne fonctionne pas, quelle piste faut-il examiner en priorité ?
A. Le processeur
B. Le DNS
C. La mémoire RAM
D. Le disque système
10. Quelle attitude est la plus adaptée avant d’exécuter une commande trouvée sur Internet ?
A. L’exécuter directement en administrateur
B. La copier sans la modifier
C. Comprendre ce qu’elle fait et vérifier les éléments qu’elle cible
D. Désactiver l’antivirus avant de l’exécuter
✅ Afficher le corrigé
1. B – hostname
Cette commande affiche le nom de l’ordinateur.
2. B – whoami
Cette commande permet d’identifier le compte utilisateur actuellement connecté.
3. A – ipconfig /all
Elle affiche la configuration réseau détaillée : adresse IP, masque, passerelle, serveurs DNS, adresse MAC, DHCP, etc.
4. B – nslookup
Cette commande permet d’interroger le DNS et de vérifier la résolution d’un nom de domaine.
5. B – Get-Process
Cette cmdlet PowerShell affiche les processus actuellement en cours d’exécution.
6. C – Transmettre le résultat d’une commande à la suivante
Le caractère |, appelé pipeline, permet d’envoyer le résultat d’une commande vers la suivante.
7. C – Test-NetConnection serveur -Port 443
Cette cmdlet permet de vérifier si un service TCP est accessible sur un port donné.
8. C – Get-Help Get-Service
Get-Help permet de consulter l’aide d’une cmdlet PowerShell, sa syntaxe et ses paramètres.
9. B – Le DNS
Si une adresse IP distante répond mais qu’un nom de domaine ne fonctionne pas, la résolution DNS devient une piste prioritaire.
10. C – Comprendre la commande avant de l’exécuter
Il faut vérifier son rôle, les éléments qu’elle cible et ses conséquences éventuelles avant de l’exécuter.
📄 Fiche de révision
Retrouvez l’essentiel de ce cours dans une fiche synthétique à conserver ou à imprimer pour vos révisions.
