Aller au contenu

Scripts PowerShell

De Wiki Pat-Informatik
🏠 Accueil 📚 Index 🐧 Linux 🌐 Réseau 🔒 Cybersécurité 🖥️ Virtualisation ✅ Checklists d'intervention 📚 Tutoriels 🤝 Services
Fichier:PowerShell.png
Bibliothèque PowerShell

⚡ Scripts PowerShell

Cette page regroupe des scripts PowerShell permettant l'administration, le diagnostic, la maintenance et la sécurisation des systèmes Windows. Ces scripts sont organisés par catégorie afin de faciliter leur utilisation lors des interventions.


📑 Navigation rapide
📂 Catégories disponibles
  • Maintenance Windows
  • Diagnostic système
  • Réseau
  • Sécurité
  • Inventaire matériel
  • Administration
  • Sauvegardes


🔧 Scripts de dépannage Windows

Ces scripts permettent d'effectuer rapidement des diagnostics lors d'une intervention informatique.

Vérifier l'espace disque

Get-Volume |
Select DriveLetter,
FileSystemLabel,
@{Name="Libre(Go)";Expression={:Round($_.SizeRemaining/1GB,2)}},
@{Name="Total(Go)";Expression={:Round($_.Size/1GB,2)}}

Permet d'identifier rapidement un disque saturé.

Informations réseau

Get-NetIPAddress |
Where-Object {$_.AddressFamily -eq "IPv4"}

Afficher la configuration complète :

Get-NetIPConfiguration

Tester la connexion Internet

Test-Connection 8.8.8.8 -Count 4

Tester un site :

Test-Connection google.fr -Count 4

Vérifier les programmes au démarrage

Get-CimInstance Win32_StartupCommand |
Select Name,Location,Command

Très utile pour diagnostiquer un PC lent.

Afficher les services arrêtés

Get-Service |
Where-Object {$_.Status -eq "Stopped"}

Vérifier la RAM disponible

Get-CimInstance Win32_OperatingSystem |
Select TotalVisibleMemorySize,
FreePhysicalMemory

Informations thermiques

Get-WmiObject MSAcpi_ThermalZoneTemperature `
-Namespace root/wmi |
Select CurrentTemperature

Processus utilisant le CPU

Get-Process |
Sort CPU -Descending |
Select -First 10

Processus utilisant la RAM

Get-Process |
Sort WorkingSet -Descending |
Select -First 10

État SMART des disques

Get-PhysicalDisk |
Select FriendlyName,
MediaType,
HealthStatus,
OperationalStatus

Mises à jour Windows

Get-HotFix |
Sort InstalledOn -Descending

État de Microsoft Defender

Get-MpComputerStatus

Inventaire des logiciels

Get-Package |
Sort Name

Rapport matériel

Get-ComputerInfo |
Out-File "C:\Rapport-Systeme.txt"

Maintenance Windows

Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue

Write-Host "Nettoyage terminé"
Get-Volume |
Select DriveLetter,
@{Name="Libre(Go)";Expression={:Round($_.SizeRemaining/1GB,2)}}
Get-HotFix |
Sort InstalledOn -Descending

Diagnostic système

Get-ComputerInfo
Get-PhysicalDisk |
Select FriendlyName,
MediaType,
HealthStatus
Get-Process |
Sort CPU -Descending |
Select -First 10
Get-Process |
Sort WorkingSet -Descending |
Select -First 10

Réseau

Get-NetIPAddress |
Where-Object {$_.AddressFamily -eq "IPv4"}
Get-NetIPConfiguration
Test-Connection 8.8.8.8 -Count 4
Test-Connection google.fr -Count 4
Get-NetTCPConnection |
Where-Object {$_.State -eq "Listen"}

Sécurité

Get-MpComputerStatus
Start-MpScan -ScanType QuickScan
Get-LocalUser
Get-LocalGroupMember Administrateurs

Inventaire matériel

Get-CimInstance Win32_Processor
Get-CimInstance Win32_PhysicalMemory
Get-CimInstance Win32_BaseBoard
Get-CimInstance Win32_BIOS
Get-CimInstance Win32_VideoController

Administration

Get-Service |
Where-Object {$_.Status -eq "Stopped"}
Get-Service |
Where-Object {$_.Status -eq "Running"}
Get-CimInstance Win32_StartupCommand |
Select Name, Command
(Get-CimInstance Win32_ComputerSystem).UserName

Rapport automatique Pat Informatik

$Rapport = "C:\Rapport-PC.txt"

Get-ComputerInfo | Out-File $Rapport

Add-Content $Rapport "`n=== DISQUES ==="

Get-Volume | Out-File $Rapport -Append

Add-Content $Rapport "`n=== RESEAU ==="

Get-NetIPAddress |
Out-File $Rapport -Append

Write-Host "Rapport généré : $Rapport"

Scripts avancés

Write-Host "=== WINDOWS ==="
Get-ComputerInfo |
Select WindowsProductName

Write-Host "=== RAM ==="
(Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory

Write-Host "=== DISQUES ==="
Get-Volume

Write-Host "=== DEFENDER ==="
(Get-MpComputerStatus).AntivirusEnabled
Restart-Computer -ComputerName NOM-PC

Pat Informatik

PowerShell • Automation • Windows • Scripts • Maintenance • Administration ⬆ Retour en haut