10 novembre 2026
Logo Windows

Forcer la mise à jour des pilotes Windows avec PowerShell et GPO

Forcer la mise à jour des pilotes Windows avec PowerShell et GPOwindows
Photo: Rafael Minguet Delgado / Pexels
🖥️ Illustration
PowerShell – Mise à jour des pilotes
PS C:\> gpupdate /force
Updating policy…
Computer Policy update has completed successfully.
User Policy update has completed successfully.
PS C:\> Get-EventLog -LogName System -Source « Microsoft-Windows-GroupPolicy » -Newest 3
Index Time EntryType Source InstanceID Message
1234 11/09/2026 08:15 Information Microsoft-Windows-GroupPolicy 0 Script « C:\Scripts\Update-Drivers.ps1 » started successfully.
1235 11/09/2026 08:15 Information Microsoft-Windows-GroupPolicy 0 Script « C:\Scripts\Update-Drivers.ps1 » completed with exit code 0.
1236 11/09/2026 08:20 Information Service Control Manager 0 The Windows Driver Foundation service entered the running state.

Contexte

Dans un environnement Windows Server 2022 avec Active Directory, il est fréquent de devoir déployer ou mettre à jour les pilotes sur l’ensemble des postes de travail. Utiliser pnputil via PowerShell, couplé à une stratégie de groupe (GPO), permet d’automatiser la distribution sans recourir à des solutions tierces.

mise à jour pilotes PowerShellwindows
Photo: panumas nikhomkhai / Pexels

Quand l’utiliser

  • Déploiement de nouveaux pilotes après une mise à jour matérielle.
  • Correction de bugs connus sur des drivers obsolètes.
  • Standardisation du même package de pilotes sur tous les postes d’un même site.

🔹 Étapes

  1. Préparer le package de pilotes

    # Créez un partage SMB accessible depuis tous les ordinateurs
    New-Item -Path "C:\Drivers\Package" -ItemType Directory
    # Copiez les .inf/.cat/.sys dans le répertoire
    Copy-Item -Path "D:\SourceDrivers\*.inf" -Destination "C:\Drivers\Package"
    # Partage du dossier
    New-SmbShare -Name "DriverPkg" -Path "C:\Drivers\Package" -FullAccess "Domain Computers"
    
  2. Écrire le script de mise à jour

    # File: Update-Drivers.ps1
    $share = "\\%LOGONSERVER%\DriverPkg"
    $dest = "$env:ProgramData\Drivers\Temp"
    
    # Copie locale
    New-Item -Path $dest -ItemType Directory -Force
    Copy-Item -Path "$share\*.inf" -Destination $dest -Force
    
    # Installation silencieuse de chaque driver
    Get-ChildItem -Path $dest -Filter *.inf | ForEach-Object {
        pnputil.exe /add-driver $_.FullName /install /subdirs /quiet
    }
    

    Placez ce script dans C:\Scripts\Update-Drivers.ps1 sur le contrôleur de domaine (ou un partage de fichiers).

  3. Créer la GPO

    # Ouvrez la console GPMC
    Import-Module GroupPolicy
    $gpoName = "Deploy-Drivers-Update"
    New-GPO -Name $gpoName -Comment "Installe les derniers drivers depuis le partage"
    # Lier la GPO à l’OU contenant les ordinateurs
    New-GPLink -Name $gpoName -Target "OU=Workstations,DC=contoso,DC=local"
    
  4. Configurer le script de démarrage via la GPO

    # Chemin du script dans la GPO
    $gpo = Get-GPO -Name $gpoName
    Set-GPRegistryValue -Name $gpoName -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" -ValueName "EnableLUA" -Type DWord -Value 0
    
    # Ajouter le script de démarrage
    $scriptPath = "C:\Scripts\Update-Drivers.ps1"
    Set-GPStartupScript -Name $gpoName -ScriptPath $scriptPath -Parameters ""
    

    Le script s’exécutera à chaque démarrage de l’ordinateur client.

  5. Forcer la mise à jour de la politique

    # Sur un poste client
    gpupdate /force
    # Vérifier que le script a été lancé
    Get-EventLog -LogName System -Source "Microsoft-Windows-GroupPolicy" -Newest 5
    

⚠️ Bonnes pratiques de sécurité

  • Restreindre l’accès au partage DriverPkg aux groupes Domain Computers uniquement.
  • Signer les scripts PowerShell avec un certificat d’entreprise et activer ExecutionPolicy RemoteSigned.
  • Conserver les pilotes dans un répertoire en lecture‑seule et vérifier les signatures des fichiers avant installation.
  • Auditer les installations via le journal d’événements Setup ou Microsoft-Windows-DriverFrameworks-UserMode.

✅ Conclusion

En combinant PowerShell, un partage SMB sécurisé et une GPO de démarrage, vous disposez d’une méthode fiable pour pousser les mises à jour de pilotes sur l’ensemble de votre parc Windows. Cette approche minimise les interventions manuelles, assure la cohérence des versions et s’intègre parfaitement à votre processus de gestion AD.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *