⚡ PowerShell 5.1+
Backup Signed Drivers List to JSON
Snapshots Signed Drivers from Win32_PnPSignedDriver to a timestamped JSON file for later comparison or auditing.
Backup-PnPSignedDriverListToJson.ps1
<#
.SYNOPSIS
Backs up Signed Drivers (Win32_PnPSignedDriver) to a timestamped JSON file.
.DESCRIPTION
Queries Win32_PnPSignedDriver via WMI and writes DeviceName, DriverVersion, Manufacturer, DriverDate for every item to a
JSON file, useful as a point-in-time snapshot for change tracking.
.PARAMETER OutputFolder
Folder to write the JSON snapshot into. Created if it doesn't exist.
Defaults to the current directory.
.EXAMPLE
.\Backup-PnPSignedDriverListToJson.ps1 -OutputFolder C:\Snapshots
#>
[CmdletBinding()]
param(
[string]$OutputFolder = '.'
)
if (-not (Test-Path $OutputFolder)) {
New-Item -ItemType Directory -Path $OutputFolder -Force | Out-Null
}
$items = Get-CimInstance -ClassName Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion, Manufacturer, DriverDate
$timestamp = Get-Date -Format 'yyyyMMdd-HHmmss'
$outPath = Join-Path $OutputFolder "pnpsigneddriver-snapshot_$timestamp.json"
$items | ConvertTo-Json -Depth 3 | Out-File -FilePath $outPath -Encoding UTF8
Write-Host "Snapshot of Signed Drivers ($($items.Count) items) saved to $outPath" -ForegroundColor Green