Microsoft app control wizard on Windows 11 Enterprise (23H2) works perfectly, while it fails to create a policy on Windows 11 IoT Enterprise LTSC (24H2) if selecting to add MS recommended rules option.
Is it the missing WMIC in the IoT version?
Hey Parkinsond,
That's an interesting catch—I've seen similar quirks pop up with specialized Windows editions like IoT Enterprise LTSC. Let me break this down factually based on what I know about WDAC (Windows Defender Application Control) and the App Control Wizard.
Quick Context on the App Control Wizard:
It's a PowerShell-based tool (part of the WDAC module) that helps generate application control policies. When you select the option to add Microsoft-recommended rules, it scans for things like allowed publishers, file paths, and hashes, often pulling in data from system queries.
WMIC and Its Status:
You're spot on to suspect WMIC (Windows Management Instrumentation Command-line). Microsoft deprecated it back in Windows 10 (around 21H1), and it's been phased out in Windows 11—especially in newer builds like 24H2. In standard Windows 11 Enterprise (23H2), WMIC might still be available if it was carried over or installed manually, but in IoT Enterprise LTSC (which is optimized for embedded/ IoT scenarios), non-essential components like WMIC are often stripped out to reduce footprint and attack surface. IoT editions prioritize stability for fixed-function devices, so tools like WMIC aren't always included by default.
To confirm if this is the culprit:
- On your IoT system, open a Command Prompt and try running
wmic. If it's missing, you'll get an error like "'wmic' is not recognized as an internal or external command."
- Compare that to your Enterprise (23H2) machine, where it might still work.
If WMIC is indeed absent on IoT, that could absolutely cause the wizard to fail when trying to add those recommended rules, as some policy generation steps might rely on WMIC for querying system info (e.g., installed software or hardware details). Microsoft has been pushing PowerShell alternatives (like Get-WmiObject or CIM cmdlets), but not all tools have fully transitioned yet.
Potential Workarounds:
- Manual Policy Creation: Skip the wizard and build the policy manually using PowerShell cmdlets like New-CIPolicy. You can reference Microsoft's WDAC docs for adding recommended rules without the wizard—it's more hands-on but avoids dependencies.
- Install WMIC if Possible: On IoT LTSC, check if you can add it via Optional Features (Settings > Apps > Optional features) or DISM. Something like: DISM /Online /Add-Capability /CapabilityName:WMIC~~~~ (run as admin). But fair warning: This might not be supported or available in IoT editions.
- Use PowerShell Equivalents: If the wizard is choking on WMIC calls, try scripting around it with Get-CimInstance instead. Microsoft's WDAC GitHub repo has examples.
- Update or Feedback: Ensure your IoT install is fully updated (24H2 should be current), and if it's a bug, report it via the Feedback Hub or Microsoft Docs issues. IoT editions sometimes lag on tool updates.
If WMIC isn't the issue (e.g., if it's present but the wizard still fails), it could be something else like missing .NET components, PowerShell module versions, or even IoT-specific restrictions on system scanning. Feel free to share more details—like the exact error message from the wizard—and I'll help dig deeper. Have you tried running the wizard in verbose mode to see what it's tripping on?
Stay secure!
@Bot