• PSA: Restoring frozen Windows Taskbar audio flyout menu using the CLI

    From Maria Sophia@mariasophia@comprehension.com to alt.comp.os.windows-10,alt.comp.os.windows-11,alt.comp.microsoft.windows on Wed May 20 14:35:06 2026
    From Newsgroup: alt.comp.os.windows-11

    PSA: Restoring frozen Windows Taskbar audio flyout menu using the CLI

    Every once in a while, for whatever reasons, my "speaker" icon in the notification area of the system tray is frozen on one of my 3 devices.
    SHARP HDMI (NVIDIA High Definition Audio)
    Realtek Digital Output (Realtek High Definition Audio)
    Speakers (Logitech USB Headset)

    A reboot doesn't restore the flyout, so I wrote up this log to reproduce
    the recovery using only the Windows command line interface to help others.

    Note: Use the Instance IDs generated on your own machine.
    Do not copy mine. I used mine so you know the syntax involved.

    Obtain the exact names for the target hardware stack:
    Get-PnpDevice -Class AudioEndpoint
    Status Class FriendlyName
    ------ ----- ------------
    OK AudioEndpoint SHARP HDMI (NVIDIA High Definition Audio)
    OK AudioEndpoint Microphone (Logitech USB Headset)
    OK AudioEndpoint Speakers (Logitech USB Headset)
    OK AudioEndpoint Realtek Digital Output (Realtek High Definition Audio)

    Now that we know the target hardware stack we will try to recover the
    audio flyout capability using only the Windows CLI and in stages.
    A. SHARP HDMI (NVIDIA High Definition Audio)
    B. Realtek Digital Output (Realtek High Definition Audio)
    C. Speakers (Logitech USB Headset)

    This is organized from least invasive (UI/Service recycles) to most
    invasive (Registry wipes & Module installations) using an admin CLI.

    1. Reset UI and audio core
    # a. Force-stop the Audio Endpoint Builder and dependent services
    # (Note: Stopping AudioEndpointBuilder will automatically stop Audiosrv)
    net stop AudioEndpointBuilder /y

    # b. Kill Windows Explorer to clear out the frozen taskbar UI cache
    taskkill /f /im explorer.exe

    # c. Restart the Audio Services cleanly
    net start AudioEndpointBuilder
    net start Audiosrv

    # d. Relaunch Windows Explorer to bring the taskbar back online
    start explorer.exe

    2. Hardware-level reset (i.e., driver-level cycling)
    If the UI responds but the devices aren't updating, it may be
    a specific driver is hanging.

    # a. List the specific instance IDs for the target hardware
    Get-PnpDevice -Class Media -Status OK | Select-Object FriendlyName, InstanceId

    FriendlyName InstanceId
    ------------ ----------
    NVIDIA High Definition Audio HDAUDIO\FUNC_01&VEN_10DE&DEV_0060&SUBSYS_103C2B63&REV_1001\5&...
    Realtek High Definition Audio HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_103C2A92&REV_1002\4&...
    Logitech USB Headset USB\VID_046D&PID_0A8F&MI_00\6&73214FD&2&0000

    Use these hardcoded Instance IDs generated for each machine.

    # b. Reset the Logitech USB Headset (USB audio drivers frequently hang the Windows UI)
    Disable-PnpDevice -InstanceId "USB\VID_046D&PID_0A8F&MI_00\6&73214FD&2&0000" -Confirm:$false
    Enable-PnpDevice -InstanceId "USB\VID_046D&PID_0A8F&MI_00\6&73214FD&2&0000" -Confirm:$false

    # c. Reset the Realtek Audio Controller (Wildcard handles truncated system text)
    Disable-PnpDevice -InstanceId "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_103C2A92&REV_1002\*" -Confirm:$false
    Enable-PnpDevice -InstanceId "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_103C2A92&REV_1002\*" -Confirm:$false

    # d. Reset the NVIDIA HDMI Audio Controller
    Disable-PnpDevice -InstanceId "HDAUDIO\FUNC_01&VEN_10DE&DEV_0060&SUBSYS_103C2B63&REV_1001\*" -Confirm:$false
    Enable-PnpDevice -InstanceId "HDAUDIO\FUNC_01&VEN_10DE&DEV_0060&SUBSYS_103C2B63&REV_1001\*" -Confirm:$false

    # e. Restart audio services so Windows re-enumerates the reset devices
    net stop AudioEndpointBuilder /y
    net start AudioEndpointBuilder
    net start Audiosrv

    3. Repair and re-register the taskbar shell
    If the audio engine is running but the Windows shell flyout is broken

    # a. Kill RuntimeBroker to prevent package locking
    taskkill /IM RuntimeBroker.exe /F

    # b. Reset and re-register the Windows Shell Experience Host package Get-AppXPackage -AllUsers -Name Microsoft.Windows.ShellExperienceHost | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

    # c. Modern Windows component reset command (alternative)
    Get-AppxPackage Microsoft.Windows.ShellExperienceHost | Reset-AppxPackage

    # d. Restart Explorer so the repaired shell reloads
    taskkill /f /im explorer.exe
    start explorer.exe

    4. Deep flush (i.e., a registry cold reboot)
    WARNING: This completely wipes the active endpoint mapping database.
    Windows will forcefully regenerate clean endpoint identifiers for
    the hardware on startup.

    # a. Bring down the audio system safely
    net stop AudioEndpointBuilder /y

    # b. Delete the cached audio endpoint rendering keys
    Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\*" -Recurse -Force

    # c. Wipe current user multimedia audio configuration cache
    reg delete "HKCU\Software\Microsoft\Multimedia\Audio" /f

    # d. Fire the audio subsystems back up to rebuild endpoints cleanly
    net start AudioEndpointBuilder
    net start Audiosrv

    5. Change devices via the CLI by bypassing the taskbar completely
    # a. Install the device manager automation module (Press [A] or [Y]
    # when prompted for PSGallery trust)
    Install-Module -Name AudioDeviceCmdlets -Force -Scope CurrentUser

    # b. Verify endpoints are recognized by the automation engine
    Get-AudioDevice -List

    # c. Toggle to Logitech Headset
    # Set-AudioDevice -Name "Speakers (Logitech USB Headset)"

    # d. Toggle to Sharp TV HDMI
    # Set-AudioDevice -Name "SHARP HDMI (NVIDIA High Definition Audio)"

    # e. Toggle to Realtek Audio Panel
    # Set-AudioDevice -Name "Realtek Digital Output (Realtek High Definition Audio)"

    6. Periodically audit the health of the physical & logical endpoints.

    # a. View Physical Media Hardware Status:
    # Get-PnpDevice -Class Media -Status OK | Select-Object FriendlyName, InstanceId

    # b. View Active Logical Audio Routing Endpoints:
    # Get-PnpDevice -Class AudioEndpoint
    --
    On Usenet are helpful kind-hearted people who know how do to things.
    --- Synchronet 3.21d-Linux NewsLink 1.2