🧬 WQL / PowerShell

Win32_USBController: Sorting USB Controllers (WQL has no ORDER BY)

WQL has no ORDER BY clause — this shows the standard workaround of piping Get-CimInstance results through Sort-Object on Win32_USBController.

By WindowsScripting.com · 611 B
USBControllerSorted.ps1
<#
.SYNOPSIS
    WQL reference: sorting USB Controllers results (Win32_USBController).

.DESCRIPTION
    WQL (the WMI Query Language) does not support an ORDER BY clause —
    unlike regular SQL. Sort after the fact with Sort-Object instead;
    this is one of the most common WQL gotchas for people coming from
    SQL backgrounds.

.EXAMPLE
    .\USBControllerSorted.ps1
#>

[CmdletBinding()]
param()

$wqlQuery = "SELECT Name, Manufacturer, Status FROM Win32_USBController"

Get-CimInstance -Query $wqlQuery |
    Sort-Object -Property Name |
    Format-Table -Property Name, Manufacturer, Status -AutoSize