Windows 11 guide: disable old integrated Bluetooth and use a new USB Bluetooth adapter

Goal

Keep the old integrated motherboard Bluetooth adapter disabled, and allow the new USB Bluetooth dongle to work normally.

In my case:

  • Old integrated adapter to disable: Realtek
  • USB\VID_0BDA&PID_8922\00E04C885A01
  • New USB adapter to allow: TP-Link
  • USB\VID_2357&PID_0604\0CEF154771C0

Windows can disable a specific Plug and Play device by device instance ID, and Group Policy can block installation by hardware ID and device instance ID, including devices that are already installed.

Step 1: Open PowerShell as Administrator

Use this command to list Bluetooth devices:

Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto

Get-PnpDevice shows the device names and their instance IDs, which is what you need to target the exact old adapter.

Step 2: Identify the two real Bluetooth radios

Look for the entries named:

  • Generic Bluetooth Adapter

In my case, the two radios were:

  • Old integrated Realtek:
USB\VID_0BDA&PID_8922\00E04C885A01

  • New TP-Link USB adapter:
USB\VID_2357&PID_0604\0CEF154771C0

Do not confuse these with the many BTHLE..., Microsoft Bluetooth Enumerator, Generic Access Profile, or Device Information Service entries. Those are usually child devices or Bluetooth services, not the main radio.

Step 3: Unplug the new USB Bluetooth adapter first

Before disabling the old one, unplug the new USB Bluetooth dongle.

This avoids confusion while locking down the internal adapter.

Step 4: Disable the old integrated Bluetooth adapter

Run this in PowerShell as Administrator:

Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false

Disable-PnpDevice is the built-in Microsoft PowerShell cmdlet for disabling a PnP device, and it requires administrator rights.

Then verify it:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

A result like Status : Error is acceptable here if the goal is to stop the integrated Bluetooth radio from functioning.

Step 5: Set Group Policy so Windows does not bring it back

Open:

gpedit.msc

Go to:

Computer Configuration
  > Administrative Templates
  > System
  > Device Installation
  > Device Installation Restrictions

Enable these policies:

A. Prevent installation of devices that match any of these device IDs

Set to Enabled and add:

USB\VID_0BDA&PID_8922

B. Prevent installation of devices that match any of these device instance IDs

Set to Enabled and add:

USB\VID_0BDA&PID_8922\00E04C885A01

C. Also apply to matching devices that are already installed

Set to Enabled

D. Allow administrators to override Device Installation Restriction policies

Set to Disabled

Microsoft documents these device installation restriction policies, including blocking by hardware ID, blocking by instance ID, and applying the restriction to already installed devices. Prevent policies take precedence by default.

Step 6: Force policy refresh

Open Command Prompt as Administrator and run:

gpupdate /force

Step 7: Reboot with the new USB adapter still unplugged

Restart Windows with the TP-Link dongle still removed.

Step 8: Check whether the old adapter stayed disabled

After reboot, run:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

If the old Realtek still shows as broken, disabled, or not functioning, that is fine.

If it comes back with a different full instance ID, keep the hardware ID block and add the new full instance ID to the instance-ID restriction list too. A device instance ID uniquely identifies a specific device node in Windows.

Step 9: Plug the new USB Bluetooth adapter back in

Now reconnect the TP-Link adapter.

Then check both adapters:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto

Expected good result:

  • Realtek old adapter:
Error  Generic Bluetooth Adapter  USB\VID_0BDA&PID_8922\...

  • TP-Link new adapter:
OK     Generic Bluetooth Adapter  USB\VID_2357&PID_0604\...

Step 10: If the old adapter still revives, use the stronger built-in command too

Open Command Prompt as Administrator and run:

pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"

Microsoft documents pnputil as a built-in Windows tool, and /disable-device is the supported command for disabling a device by instance ID.

Then reboot and check again.

Important notes

Do not use Uninstall as the main fix

For integrated motherboard hardware, uninstalling often does not stick across reboot because Windows re-detects the hardware and recreates it.

Do not block all Bluetooth devices

Do not block Bluetooth by class or by a broad rule, or you may accidentally block the new USB dongle too.

Only block the exact old device using:

  • hardware ID:
USB\VID_0BDA&PID_8922

  • instance ID:
USB\VID_0BDA&PID_8922\00E04C885A01

Windows treats hardware IDs and instance IDs differently, and the instance ID is the exact per-device identifier.

Internal motherboard Bluetooth can still show as USB

That is normal. Many internal Wi-Fi/Bluetooth combo modules expose the Bluetooth side over an internal USB connection.

My exact working commands

Show Bluetooth devices

Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto

Disable old Realtek integrated Bluetooth

Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false

Verify old Realtek

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

Check old and new adapters together

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto

Stronger fallback disable command

pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"

Refresh policy

gpupdate /force

My exact Group Policy values

Block old Realtek hardware ID

USB\VID_0BDA&PID_8922

Block old Realtek instance ID

USB\VID_0BDA&PID_8922\00E04C885A01

Policies to set

  • Prevent installation of devices that match any of these device IDs = Enabled
  • Prevent installation of devices that match any of these device instance IDs = Enabled
  • Also apply to matching devices that are already installed = Enabled
  • Allow administrators to override Device Installation Restriction policies = Disabled

Final success state

Good final state:

  • Old Realtek integrated Bluetooth = blocked / disabled / error state
  • New TP-Link USB Bluetooth = OK

That means Windows is using the new USB Bluetooth adapter and not the old motherboard one.