# Check what user-facing apps are actually available $all = Get-AppxPackage -AllUsers -ErrorAction SilentlyContinue $userFacing = $all | Where-Object { $_.Name -notmatch '^Microsoft\.(NET|VCLibs|UI\.Xaml|WindowsApp|Services|Advertising|Office\.(Actions|Push)|AAD|Account|Bio|Cred|Lock|Win32|WidgetsPlatform|AsyncText|ApplicationCompat|AIFabric|DesktopApp|StorePurchase|SecHealth|ECApp|HE[IV]|AV1|AVC|MPEG|Raw|VP9|Webp|Web[Mm]|M365|OneDrive|StartExp|MicrosoftEdge[^.]|Window\.CBS)' -and $_.Name -notmatch '^(Microsoft)?Windows\.' -and $_.Name -notmatch '^(aimgr|InputApp|NcsiUwpApp|MicrosoftWindows\.|MicrosoftCorporationII|KONICAMINOLTA|Windows\.)' -and $_.Name -notmatch '^[0-9a-f]{8}-' -and $_.Name -notmatch '^(E2A4F912|F46D4000|1527c705|c5e2524a)' -and $_.IsFramework -ne $true } Write-Output "=== User-facing apps on this machine ===" $userFacing | Sort-Object Name -Unique | ForEach-Object { Write-Output "$($_.Name) | $($_.Publisher) | $($_.PackageFamilyName)" } Write-Output "" Write-Output "Count: $($userFacing | Sort-Object Name -Unique | Measure-Object | Select-Object -ExpandProperty Count)"