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
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 /scannowsfc /scannowVérifie les fichiers système protégés et remplace ceux qui sont corrompus.
sfc /scannow sfc /verifyonlyDISM /RestoreHealthDISM /Online /Cleanup-Image /RestoreHealthRé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 /LimitAccesschkdskchkdsk <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 -Scansysteminfosysteminfo [/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-ComputerInfoGet-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).OsLastBootUpTimewinver / Get-CimInstance Win32_OperatingSystemGet-CimInstance Win32_OperatingSystem | Select Caption,Version,BuildNumberVersion et build de Windows.
winver Get-CimInstance Win32_OperatingSystem | Select Caption,Version,BuildNumber,LastBootUpTimehostname / Rename-ComputerRename-Computer -NewName <nom> -RestartAffiche ou change le nom de la machine.
hostname Rename-Computer -NewName PC-COMPTA-01 -RestartRestart-Computer / shutdownshutdown /r /t 0 | Restart-Computer -ForceRedémarre ou arrête la machine, localement ou à distance.
shutdown /r /t 60 /c "Redémarrage de maintenance" shutdown /a Restart-Computer -ComputerName PC01 -ForceGet-HotFixGet-HotFix [-Id <KB>]Liste les correctifs (KB) installés.
Get-HotFix | Sort-Object InstalledOn -Descending | Select -First 10 Get-HotFix -Id KB5034123winget upgradewinget 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.Firefoxwinget installwinget 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.VisualStudioCodeGet-WindowsUpdateLogGet-WindowsUpdateLog [-LogPath <fichier>]Génère un journal lisible de Windows Update à partir des traces ETL.
Get-WindowsUpdateLog -LogPath $env:USERPROFILE\Desktop\WindowsUpdate.logusoclient / wuaucltUsoClient StartScan | StartDownload | StartInstallDéclenche l'analyse ou l'installation des mises à jour depuis la ligne de commande (non documenté officiellement).
UsoClient StartScan UsoClient StartDownload UsoClient StartInstallGet-ChildItemGet-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 10Get-ItemGet-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\CurrentVersionGet-ContentGet-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-StringSelect-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'robocopyrobocopy <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 /LCopy-Item / Move-Item / Remove-ItemCopy-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 -WhatIficaclsicacls <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 /TGet-AclGet-Acl <chemin>Lit les autorisations d'un fichier, dossier ou clé de registre.
(Get-Acl D:\Partage).Access | Select IdentityReference,FileSystemRights,AccessControlTypeGet-ProcessGet-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 -WhatIfStop-Process / taskkillStop-Process -Name <nom> -Force | taskkill /IM <exe> /FTermine un processus.
Stop-Process -Id 1234 -Force taskkill /IM notepad.exe /F taskkill /PID 1234 /T /Ftasklisttasklist [/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-ServiceGet-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,StartTypeRestart-Service / Set-ServiceRestart-Service <nom> | Set-Service <nom> -StartupType DisabledRedé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 spoolerGet-CimInstance Win32_ProcessGet-CimInstance Win32_Process | Select Name,ProcessId,CommandLineProcessus avec ligne de commande complète et parent.
Get-CimInstance Win32_Process -Filter "Name='powershell.exe'" | Select ProcessId,ParentProcessId,CommandLineipconfigipconfig [/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 /renewTest-NetConnectionTest-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 QuietGet-NetAdapterGet-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:$falseGet-NetIPAddress / Get-NetIPConfigurationGet-NetIPConfiguration [-Detailed]Adresses IP, passerelle et DNS de chaque interface.
Get-NetIPConfiguration Get-NetIPAddress -AddressFamily IPv4 | Select InterfaceAlias,IPAddress,PrefixLengthResolve-DnsNameResolve-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.1Get-NetTCPConnectionGet-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).OwningProcessnetshnetsh <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 allprofilesping / tracert / pathpingping <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.comGet-Disk / Get-VolumeGet-Disk | Get-Partition | Get-VolumeDisques 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-PhysicalDiskGet-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,ReadErrorsTotalcleanmgr / Storage Sensecleanmgr /sageset:1 ; cleanmgr /sagerun:1Nettoyage de disque piloté par un profil enregistré.
cleanmgr /sageset:1 cleanmgr /sagerun:1 Get-ChildItem $env:TEMP -Recurse -Force | Remove-Item -Recurse -Force -WhatIfdiskpartdiskpart > list disk | select disk <n> | clean | create partition primaryGestion avancée des disques et partitions en mode interactif.
diskpart list disk select disk 1 list partitionGet-LocalUserGet-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' -NoPasswordAdd-LocalGroupMemberAdd-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 /addwhoamiwhoami [/groups] [/priv] [/all]Affiche l'utilisateur courant, ses groupes et ses privilèges.
whoami whoami /groups whoami /privnet usernet 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 accountsmanage-bdemanage-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: -RecoveryPasswordGet-BitLockerVolumeGet-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-MpScanGet-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 FullScangpupdategpupdate [/force] [/target:computer|user]Applique immédiatement les stratégies de groupe.
gpupdate /force gpupdate /target:computer /forcegpresultgpresult /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 /vGet-NetFirewallRuleGet-NetFirewallRule [-DisplayName <nom>] | New-NetFirewallRuleListe 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 AllowGet-ExecutionPolicy / Set-ExecutionPolicyGet-ExecutionPolicy -ListPolitique d'exécution des scripts PowerShell.
Get-ExecutionPolicy -List Set-ExecutionPolicy RemoteSigned -Scope CurrentUserGet-WinEventGet-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,RecordCountwevtutilwevtutil qe <journal> /c:<n> /rd:true /f:textInterroge, 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 ApplicationGet-EventLogGet-EventLog -LogName System -Newest <n>Ancienne lecture des journaux classiques (Windows PowerShell 5.1 uniquement).
Get-EventLog -LogName Application -EntryType Error -Newest 20Get-CimInstance Win32_ReliabilityRecordsGet-CimInstance Win32_ReliabilityRecords | Select -First 20Historique 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 10Reset-ComputerMachinePassword / Test-ComputerSecureChannelTest-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 /statusdsregcmd /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 startProcédure classique quand Windows Update reste bloqué.
net stop wuauserv && net stop bits ren C:\Windows\SoftwareDistribution SoftwareDistribution.old net start bits && net start wuauservpowercfg /batteryreportpowercfg /batteryreport | /energy | /requestsRapport 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