PowerShell et commandes Windows 11

Commandes de dépannage et d'administration Windows 11, en PowerShell et en CMD. Chaque entrée indique son niveau de risque : lecture seule, modifie le système, ou nécessite une invite élevée (administrateur).

Résultats

Filtrer par catégorie

    Les commandes marquées « Nécessite admin » doivent être lancées dans un terminal ouvert « en tant qu'administrateur ». Lisez la description avant d'exécuter une commande qui modifie le système.

    Liste complète

    Afficher les 58 entrées
    • sfc /scannow

      sfc /scannow

      Vérifie les fichiers système protégés et remplace ceux qui sont corrompus.

      sfc /scannow
      sfc /verifyonly
    • DISM /RestoreHealth

      DISM /Online /Cleanup-Image /RestoreHealth

      Répare l'image Windows en cours d'exécution à partir de Windows Update ou d'une source.

      DISM /Online /Cleanup-Image /CheckHealth
      DISM /Online /Cleanup-Image /ScanHealth
      DISM /Online /Cleanup-Image /RestoreHealth
      DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess
    • chkdsk

      chkdsk <lecteur>: [/f] [/r] [/scan]

      Vérifie le système de fichiers d'un volume et répare les erreurs.

      chkdsk C: /scan
      chkdsk C: /f /r
      Repair-Volume -DriveLetter C -Scan
    • systeminfo

      systeminfo [/s <ordinateur>]

      Affiche la version de Windows, le matériel, la mémoire, les correctifs installés et le domaine.

      systeminfo
      systeminfo | findstr /B /C:"Nom de l'hôte" /C:"Nom du système d'exploitation"
    • Get-ComputerInfo

      Get-ComputerInfo [-Property <liste>]

      Informations détaillées sur le système sous forme d'objet PowerShell.

      Get-ComputerInfo -Property WindowsProductName,WindowsVersion,OsBuildNumber,CsTotalPhysicalMemory
      (Get-ComputerInfo).OsLastBootUpTime
    • winver / Get-CimInstance Win32_OperatingSystem

      Get-CimInstance Win32_OperatingSystem | Select Caption,Version,BuildNumber

      Version et build de Windows.

      winver
      Get-CimInstance Win32_OperatingSystem | Select Caption,Version,BuildNumber,LastBootUpTime
    • hostname / Rename-Computer

      Rename-Computer -NewName <nom> -Restart

      Affiche ou change le nom de la machine.

      hostname
      Rename-Computer -NewName PC-COMPTA-01 -Restart
    • Restart-Computer / shutdown

      shutdown /r /t 0 | Restart-Computer -Force

      Redémarre ou arrête la machine, localement ou à distance.

      shutdown /r /t 60 /c "Redémarrage de maintenance"
      shutdown /a
      Restart-Computer -ComputerName PC01 -Force
    • Get-HotFix

      Get-HotFix [-Id <KB>]

      Liste les correctifs (KB) installés.

      Get-HotFix | Sort-Object InstalledOn -Descending | Select -First 10
      Get-HotFix -Id KB5034123
    • winget upgrade

      winget upgrade [--all] [--id <id>]

      Liste ou installe les mises à jour des applications gérées par winget.

      winget upgrade
      winget upgrade --all --include-unknown --accept-package-agreements --accept-source-agreements
      winget upgrade --id Mozilla.Firefox
    • winget install

      winget install <nom> | --id <id> [-e] [--silent]

      Installe une application depuis les sources winget.

      winget search vscode
      winget install --id Microsoft.VisualStudioCode -e --silent
      winget uninstall --id Microsoft.VisualStudioCode
    • Get-WindowsUpdateLog

      Get-WindowsUpdateLog [-LogPath <fichier>]

      Génère un journal lisible de Windows Update à partir des traces ETL.

      Get-WindowsUpdateLog -LogPath $env:USERPROFILE\Desktop\WindowsUpdate.log
    • usoclient / wuauclt

      UsoClient StartScan | StartDownload | StartInstall

      Déclenche l'analyse ou l'installation des mises à jour depuis la ligne de commande (non documenté officiellement).

      UsoClient StartScan
      UsoClient StartDownload
      UsoClient StartInstall
    • Get-ChildItem

      Get-ChildItem [-Path <chemin>] [-Recurse] [-Filter <motif>] [-Force]

      Liste les fichiers et dossiers, éventuellement récursivement.

      Get-ChildItem C:\Logs -Recurse -Filter *.log | Where-Object Length -gt 100MB
      gci -Force -File | Sort-Object LastWriteTime -Descending | Select -First 10
    • Get-Item

      Get-Item <chemin>

      Lit un fichier, un dossier ou une clé de registre (propriétés, attributs, dates).

      Get-Item C:\Windows\System32\notepad.exe | Select Name,Length,LastWriteTime,VersionInfo
      Get-Item HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    • Get-Content

      Get-Content <fichier> [-Tail <n>] [-Wait]

      Lit un fichier texte, y compris en suivi continu (comme tail -f).

      Get-Content C:\Logs\app.log -Tail 50 -Wait
      Get-Content liste.txt | Select-String 'erreur'
    • Select-String

      Select-String -Pattern <regex> -Path <fichiers>

      Recherche un motif dans des fichiers ou un flux (grep PowerShell).

      Select-String -Path C:\Logs\*.log -Pattern 'ERROR|FATAL' -CaseSensitive
      Get-ChildItem -Recurse *.ps1 | Select-String 'Invoke-Expression'
    • robocopy

      robocopy <source> <destination> [fichiers] [options]

      Copie robuste de dossiers (reprise, multithread, miroir, permissions).

      robocopy D:\Donnees E:\Sauvegarde /E /COPY:DAT /R:2 /W:5 /MT:16 /LOG:C:\Temp\robocopy.log
      robocopy D:\Donnees E:\Sauvegarde /MIR /XD .git /L
    • Copy-Item / Move-Item / Remove-Item

      Copy-Item <source> <destination> [-Recurse]

      Copie, déplace ou supprime des fichiers et dossiers.

      Copy-Item C:\Src\* D:\Dest -Recurse
      Remove-Item C:\Temp\vieux -Recurse -Force -WhatIf
    • icacls

      icacls <chemin> [/grant|/deny|/remove|/reset] [/T]

      Affiche ou modifie les autorisations NTFS d'un fichier ou dossier.

      icacls D:\Partage
      icacls D:\Partage /grant "DOMAINE\Groupe":(OI)(CI)M /T
      icacls D:\Partage /reset /T
    • Get-Acl

      Get-Acl <chemin>

      Lit les autorisations d'un fichier, dossier ou clé de registre.

      (Get-Acl D:\Partage).Access | Select IdentityReference,FileSystemRights,AccessControlType
    • Get-Process

      Get-Process [-Name <nom>] [-Id <pid>]

      Liste les processus en cours (mémoire, CPU, chemin).

      Get-Process | Sort-Object WS -Descending | Select -First 10 Name,Id,@{n='MémoireMo';e={[int]($_.WS/1MB)}}
      Get-Process -Name chrome | Stop-Process -WhatIf
    • Stop-Process / taskkill

      Stop-Process -Name <nom> -Force | taskkill /IM <exe> /F

      Termine un processus.

      Stop-Process -Id 1234 -Force
      taskkill /IM notepad.exe /F
      taskkill /PID 1234 /T /F
    • tasklist

      tasklist [/svc] [/fi "<filtre>"]

      Liste les processus avec, au choix, les services hébergés.

      tasklist /svc
      tasklist /fi "imagename eq svchost.exe" /svc
      tasklist /fi "memusage gt 500000"
    • Get-Service

      Get-Service [-Name <nom>]

      Liste les services et leur état.

      Get-Service | Where-Object { $_.Status -eq 'Running' -and $_.StartType -eq 'Automatic' }
      Get-Service wuauserv,bits | Format-Table Name,Status,StartType
    • Restart-Service / Set-Service

      Restart-Service <nom> | Set-Service <nom> -StartupType Disabled

      Redémarre un service ou change son type de démarrage.

      Restart-Service Spooler -Force
      Set-Service -Name wuauserv -StartupType Manual
      net stop spooler && net start spooler
    • Get-CimInstance Win32_Process

      Get-CimInstance Win32_Process | Select Name,ProcessId,CommandLine

      Processus avec ligne de commande complète et parent.

      Get-CimInstance Win32_Process -Filter "Name='powershell.exe'" | Select ProcessId,ParentProcessId,CommandLine
    • ipconfig

      ipconfig [/all] [/release] [/renew] [/flushdns] [/displaydns]

      Affiche la configuration IP et gère le cache DNS et le bail DHCP.

      ipconfig /all
      ipconfig /flushdns
      ipconfig /release && ipconfig /renew
    • Test-NetConnection

      Test-NetConnection <hôte> [-Port <port>] [-TraceRoute]

      Teste la connectivité (ping, port TCP, route).

      Test-NetConnection google.com -Port 443
      Test-NetConnection 10.0.0.1 -TraceRoute
      tnc smtp.office365.com -Port 587 -InformationLevel Quiet
    • Get-NetAdapter

      Get-NetAdapter [-Name <nom>]

      Liste les cartes réseau, leur état, leur vitesse et leur adresse MAC.

      Get-NetAdapter | Select Name,Status,LinkSpeed,MacAddress
      Restart-NetAdapter -Name 'Ethernet'
      Disable-NetAdapter -Name 'Wi-Fi' -Confirm:$false
    • Get-NetIPAddress / Get-NetIPConfiguration

      Get-NetIPConfiguration [-Detailed]

      Adresses IP, passerelle et DNS de chaque interface.

      Get-NetIPConfiguration
      Get-NetIPAddress -AddressFamily IPv4 | Select InterfaceAlias,IPAddress,PrefixLength
    • Resolve-DnsName

      Resolve-DnsName <nom> [-Type <type>] [-Server <dns>]

      Interroge le DNS (A, MX, TXT, CNAME…) sans nslookup.

      Resolve-DnsName contoso.com -Type MX
      Resolve-DnsName contoso.com -Type TXT -Server 1.1.1.1
    • Get-NetTCPConnection

      Get-NetTCPConnection [-State Listen] [-LocalPort <port>]

      Connexions TCP et ports en écoute, avec le processus propriétaire.

      Get-NetTCPConnection -State Listen | Select LocalAddress,LocalPort,OwningProcess
      Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess
    • netsh

      netsh <contexte> <commande>

      Outil de configuration réseau (Wi-Fi, pare-feu, proxy, réinitialisation de la pile).

      netsh wlan show profiles
      netsh wlan show profile name="MonWifi" key=clear
      netsh winsock reset
      netsh int ip reset
      netsh advfirewall show allprofiles
    • ping / tracert / pathping

      ping <hôte> [-n <nb>] [-t] | tracert <hôte> | pathping <hôte>

      Teste l'accessibilité et le chemin réseau vers un hôte.

      ping -n 4 8.8.8.8
      ping -t 192.168.1.1
      tracert -d contoso.com
      pathping -q 10 contoso.com
    • Get-Disk / Get-Volume

      Get-Disk | Get-Partition | Get-Volume

      Disques physiques, partitions et volumes (taille, espace libre, santé).

      Get-Disk | Select Number,FriendlyName,Size,HealthStatus,PartitionStyle
      Get-Volume | Select DriveLetter,FileSystemLabel,FileSystem,@{n='LibreGo';e={[math]::Round($_.SizeRemaining/1GB,1)}}
    • Get-PhysicalDisk

      Get-PhysicalDisk | Get-StorageReliabilityCounter

      État de santé des disques et compteurs de fiabilité (SMART simplifié).

      Get-PhysicalDisk | Select FriendlyName,MediaType,HealthStatus,OperationalStatus
      Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Temperature,Wear,ReadErrorsTotal
    • cleanmgr / Storage Sense

      cleanmgr /sageset:1 ; cleanmgr /sagerun:1

      Nettoyage de disque piloté par un profil enregistré.

      cleanmgr /sageset:1
      cleanmgr /sagerun:1
      Get-ChildItem $env:TEMP -Recurse -Force | Remove-Item -Recurse -Force -WhatIf
    • diskpart

      diskpart > list disk | select disk <n> | clean | create partition primary

      Gestion avancée des disques et partitions en mode interactif.

      diskpart
      list disk
      select disk 1
      list partition
    • Get-LocalUser

      Get-LocalUser [-Name <nom>]

      Liste les comptes locaux et leur état.

      Get-LocalUser | Select Name,Enabled,LastLogon,PasswordLastSet
      Disable-LocalUser -Name 'invite'
      New-LocalUser -Name 'support' -NoPassword
    • Add-LocalGroupMember

      Add-LocalGroupMember -Group <groupe> -Member <compte>

      Ajoute un compte à un groupe local (par exemple Administrateurs).

      Get-LocalGroupMember Administrateurs
      Add-LocalGroupMember -Group 'Administrateurs' -Member 'DOMAINE\jdupont'
      net localgroup Administrateurs jdupont /add
    • whoami

      whoami [/groups] [/priv] [/all]

      Affiche l'utilisateur courant, ses groupes et ses privilèges.

      whoami
      whoami /groups
      whoami /priv
    • net user

      net user [<compte> [<mot de passe>] [/add] [/domain]]

      Gère les comptes utilisateurs locaux (ou de domaine avec /domain).

      net user
      net user jdupont
      net user jdupont /domain
      net accounts
    • manage-bde

      manage-bde -status | -protectors -get <lecteur>: | -on <lecteur>:

      État et gestion de BitLocker en ligne de commande.

      manage-bde -status
      manage-bde -protectors -get C:
      manage-bde -on C: -RecoveryPassword
    • Get-BitLockerVolume

      Get-BitLockerVolume [-MountPoint <lecteur>]

      État du chiffrement BitLocker et protecteurs de chaque volume.

      Get-BitLockerVolume | Select MountPoint,VolumeStatus,ProtectionStatus,EncryptionPercentage
      (Get-BitLockerVolume -MountPoint C:).KeyProtector | Where KeyProtectorType -eq RecoveryPassword
      BackupToAAD-BitLockerKeyProtector -MountPoint C: -KeyProtectorId '{GUID}'
    • Get-MpComputerStatus / Start-MpScan

      Get-MpComputerStatus ; Start-MpScan -ScanType QuickScan

      État de Microsoft Defender Antivirus et lancement d'une analyse.

      Get-MpComputerStatus | Select AntivirusEnabled,RealTimeProtectionEnabled,AntivirusSignatureLastUpdated
      Update-MpSignature
      Start-MpScan -ScanType FullScan
    • gpupdate

      gpupdate [/force] [/target:computer|user]

      Applique immédiatement les stratégies de groupe.

      gpupdate /force
      gpupdate /target:computer /force
    • gpresult

      gpresult /r | /h <fichier.html> [/scope computer|user]

      Affiche les stratégies de groupe réellement appliquées à la machine et à l'utilisateur.

      gpresult /r
      gpresult /h C:\Temp\gpo.html /f
      gpresult /scope computer /v
    • Get-NetFirewallRule

      Get-NetFirewallRule [-DisplayName <nom>] | New-NetFirewallRule

      Liste ou crée des règles du Pare-feu Windows Defender.

      Get-NetFirewallRule -Enabled True -Direction Inbound | Select DisplayName,Action,Profile
      New-NetFirewallRule -DisplayName 'Autoriser TCP 8080' -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
    • Get-ExecutionPolicy / Set-ExecutionPolicy

      Get-ExecutionPolicy -List

      Politique d'exécution des scripts PowerShell.

      Get-ExecutionPolicy -List
      Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    • Get-WinEvent

      Get-WinEvent -LogName <journal> [-MaxEvents <n>] [-FilterHashtable @{...}]

      Lit les journaux d'événements Windows, avec filtrage efficace.

      Get-WinEvent -LogName System -MaxEvents 20 | Select TimeCreated,Id,LevelDisplayName,Message
      Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-24)}
      Get-WinEvent -ListLog * | Where RecordCount -gt 0 | Sort RecordCount -Descending | Select -First 10 LogName,RecordCount
    • wevtutil

      wevtutil qe <journal> /c:<n> /rd:true /f:text

      Interroge, exporte ou efface un journal d'événements.

      wevtutil qe System /c:10 /rd:true /f:text
      wevtutil epl Security C:\Temp\security.evtx
      wevtutil cl Application
    • Get-EventLog

      Get-EventLog -LogName System -Newest <n>

      Ancienne lecture des journaux classiques (Windows PowerShell 5.1 uniquement).

      Get-EventLog -LogName Application -EntryType Error -Newest 20
    • Get-CimInstance Win32_ReliabilityRecords

      Get-CimInstance Win32_ReliabilityRecords | Select -First 20

      Historique de fiabilité (plantages, échecs d'installation) comme dans le moniteur de fiabilité.

      Get-CimInstance Win32_ReliabilityRecords | Where SourceName -eq 'Application Error' | Select TimeGenerated,ProductName,Message -First 10
    • Reset-ComputerMachinePassword / Test-ComputerSecureChannel

      Test-ComputerSecureChannel -Repair -Credential <compte>

      Vérifie et répare la relation d'approbation entre la machine et le domaine.

      Test-ComputerSecureChannel -Verbose
      Test-ComputerSecureChannel -Repair -Credential (Get-Credential)
    • dsregcmd /status

      dsregcmd /status

      État de la jonction Entra ID / hybride et du jeton d'authentification (PRT).

      dsregcmd /status
      dsregcmd /status | findstr /i "AzureAdJoined DomainJoined AzureAdPrt"
    • Reset Windows Update (services et cache)

      net stop wuauserv, bits ; rename SoftwareDistribution ; net start

      Procédure classique quand Windows Update reste bloqué.

      net stop wuauserv && net stop bits
      ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
      net start bits && net start wuauserv
    • powercfg /batteryreport

      powercfg /batteryreport | /energy | /requests

      Rapport sur la batterie, diagnostic énergétique, et qui empêche la mise en veille.

      powercfg /batteryreport /output C:\Temp\batterie.html
      powercfg /energy
      powercfg /requests
      powercfg /a

    Rechercher