Skip to content

Powershell script to remove Intel Innovation Platform devices #6

@Ben137KBC

Description

@Ben137KBC

If you have the Intel Innovation Platform installed, it does not show up as a program or feature you can remove. The Intel Innovation Platform Framework Processor Participant, if your laptop is set to high performance, will have WUDFHost.exe and ipfsrv.dll continually write to disk.

You can also run the powershell script below to remove the intel innovation platform devices. If your system does not allow you to run powershell scripts due to security limitations, open an administrator powershell window and paste the script in one section at a time. Then go to the device manager and for each Intel Innovation Platform device, right click on it to remove the device and also check the option to remove the driver. Then reboot. Now the devices do not come back. They show up as other unknown devices. The script below does not permanently disable these devices in the registry (I feel safer not doing so).

<#
.SYNOPSIS
    Safely removes Intel Innovation Platform Framework drivers, devices, and services.
    Run this script as Administrator.
#>

Write-Host "=== Intel Innovation Platform Cleanup Tool ===" -ForegroundColor Cyan

# Step 1: Confirm admin rights
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Host "Please run PowerShell as Administrator and try again." -ForegroundColor Red
    Exit
}

# Step 2: Stop Intel services that may reload drivers
$intelServices = @(
    "Intel Dynamic Tuning Service",
    "Intel Innovation Platform Framework Service",
    "Intel(R) Platform Framework Service"
)

foreach ($svc in $intelServices) {
    $service = Get-Service | Where-Object { $_.DisplayName -like "*$svc*" }
    if ($service) {
        Write-Host "Stopping and disabling service: $($service.DisplayName)" -ForegroundColor Yellow
        Stop-Service $service.Name -ErrorAction SilentlyContinue
        Set-Service $service.Name -StartupType Disabled
        sc.exe delete "$($service.Name)" | Out-Null
    }
}

# Step 3: Enumerate Intel-related drivers in DriverStore
Write-Host "`nScanning driver store for Intel Innovation Platform related drivers..." -ForegroundColor Cyan
$drivers = pnputil /enum-drivers | Select-String -Pattern "Published Name|Provider Name|Original Name"

$driverList = @()
for ($i = 0; $i -lt $drivers.Count; $i += 3) {
    $name = ($drivers[$i] -split ":")[1].Trim()
    $provider = ($drivers[$i + 1] -split ":")[1].Trim()
    $orig = ($drivers[$i + 2] -split ":")[1].Trim()

    if ($provider -match "Intel" -and ($orig -match "InnovationPlatform|DynamicTuning|DPTF|IntelP*" )) {
        $driverList += $name
    }
}

if ($driverList.Count -eq 0) {
    Write-Host "No Intel Innovation Platform drivers found in DriverStore." -ForegroundColor Green
} else {
    Write-Host "`nFound the following Intel-related drivers:" -ForegroundColor Yellow
    $driverList | ForEach-Object { Write-Host " - $_" }

    foreach ($drv in $driverList) {
        $confirm = Read-Host "Delete driver package $drv from DriverStore? (Y/N)"
        if ($confirm -match "^[Yy]") {
            pnputil /delete-driver $drv /uninstall /force
        }
    }
}

# Step 4: Remove hidden ghosted devices
Write-Host "`nRemoving hidden Intel Innovation Platform devices..." -ForegroundColor Cyan
pnputil /enum-devices /connected | findstr /i "InnovationPlatform" | ForEach-Object {
    $dev = $_ -replace "Instance ID\s*:\s*", ""
    if ($dev) {
        Write-Host "Attempting to remove device $dev"
        pnputil /remove-device "$dev" /force
    }
}

# Step 5: Final instructions
Write-Host "`nCleanup completed." -ForegroundColor Green
Write-Host "➡ Please reboot your PC to finalize removal." -ForegroundColor Yellow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions