По словам Рэймонда Чена, приводится следующий источник: https://blogs.msdn.microsoft.com/oldnewthing/20171219-00/?p=97606
Когда вы переходите на вкладку «Процессы» в диспетчере задач, вы видите процессы, сгруппированные в три категории: приложение, фоновый процесс и процесс Windows. Как он решает, какой процесс входит в какую категорию?
Это термины, которые просто составил диспетчер задач. Сама система действительно не заботится о том, что это за процессы.
Если у процесса есть видимое окно, диспетчер задач называет его «приложением».
Если процесс помечен как критический, диспетчер задач называет его «Процесс Windows».
В противном случае диспетчер задач называет это «фоновым процессом».
Поскольку вопрос касается «приложений» или «приложений», то мы просто рассматриваем те, у которых есть видимое окно.
Следующих команд Powershell может быть достаточно:
powershell "gps | where {$_.MainWindowTitle } | select Description
как может:
powershell "gps | where {$_.MainWindowHandle -ne 0 } | select Description
Связанные команды: powershell "gps | select *"
предоставит список свойств процесса, которые могут быть включены в фильтр или выходные данные.