Сбор данных об установленных программах во всем AD с Powershell
Сбор данных об установленных программах во всем AD с Powershell
Для сбора списка программ используя Powershell есть много методов. Это может быть win32_product, команда Get-AppxPackage и многие другие. У большинства методов есть два минуса:
- Они выполняются очень долго (win32_product может выполняться несколько минут);
- Методы возвращают не все установленные программы.
Для обхода этих проблем, в примерах ниже, будет использоваться способ используя ключ реестра. Конечной целью будет получения списка всех программ со всего AD и последующий экспорт CSV (Excel). Так же будет показан способ исключения из списка тех программ, которые являются стандартными для компании.
Навигация по посту
Вывод списка программ с помощью утилиты командной строки WMIC
Список установленных в системе программ может быть получен с помощью утилиты командной строки WMIC, через которую можно обратиться и опросить пространство имен WMI. Запустите командную строку с правами администратора и выполните команду:
wmic product get name,version
После небольшого ожидания, на экран консоли будет выведен список названий и версия установленных в системе программ.
Этот список можно экспортировать в текстовый файл с помощью команды:
wmic product get name,version /format:csv > c:TempPrograms_%Computername%.csv
После окончания выполнения команды перейдите в каталог C:Temp и найдите csv файл, имя которого начинается с Programs_[имя_ПК]. В данном файле в csv-формате помимо названия и версии ПО, также будет содержаться имя ПК (удобно для дальнейшего анализа).
Как вывести список установленных программ через Winget
Winget — это новая утилита командной строки, которая появилась в Windows 10 и позволяет производить установку программ через интернет из репозитория Microsoft. Но она так же умеет показывать список всех установленных пакетов и приложений. Для этого вызовите командную строку или оболочку PowerShell и введите команду:
На выходе вы получите общий список программ, которые есть в вашей Windows 11, обратите внимание, что тут будут и GUID приложений, они идут в столбце «ИД», а так же версия программы.
Если хотите сохранить весь список в текстовый файл, то воспользуйтесь такой конструкцией, не забываем только указать свой путь, где сохранять файл:
Список установленных программ из консоли: CMD против Power Shell.
Но если вы любитель экстрима, можно отфильтровать группу утилит, которые при установке, например, не использовали инсталлятор Windows. Для этого вам в помощь консоль команд cmd и инструмент WMIC (он же Windows Management Instrumentation Command line):
Отсюда же следует удаление видимой в списке программы:
Результат удаления появится в виде оригинальной строчки Метод успешно вызван. Однако этот метод листинга установленных приложений (как и их удаления) трудно считать исчерпывающим, ибо WMIC видит только приложения, которые были установлены системным инсталлятором. Кстати, кому интересно, Power Shell может показать и GUID ключи этих приложений:
Таким образом, всё то, что было установлено минуя MSI, в список не попадёт. В одной из статей, кстати, мы уже говорили о том, как удалять программы с помощью редактора реестра. И, если проверить сам реестр, приложения MSI всегда имеют при себе под-ключ кода продукта в разделе
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS-1-5-18Products
- HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall
- HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall
«Не-MSI» приложения в реестре обнаруживаются здесь:
Та же ситуация и с PowerShell, в консоли которой можно ввести команду и покороче:
щёлкните, чтобы увеличить
Затем вы можете использовать эту информацию для удаления приложения, Cortana, Microsoft Edge, Store, Xbox и многие другие, некоторые приложения заблокированы, и вы не сможете их удалить.
Вам может быть интересно: Как удалить Cortana в Windows 10
Доступные аргументы перечислены ниже.
Аргумент | Описание |
---|---|
-q,—query | Запрос, используемый для поиска приложения. |
-?, —help | Позволяет получит дополнительную справку по этой команде. |
Аргумент запроса является позиционным. Синтаксис с использованием подстановочных знаков не поддерживается. Чаще всего это строка символов для поиска установленного пакета.
Использование файла панели управления appwiz.cpl открывает список установленных программ в Windows 10, 8.1, 7 и более ранних версиях.
Этот способ позволяет также удалить программу.
Выполните команду appwiz.cpl в меню Выполнить (Windows+R), Командной строке или PowerShell.
Переместите свои программы в другое место
Все эти методы дают вам один и тот же конечный результат, так что вы просто предпочитаете, какой из них вы хотите использовать. Если вы не хотите ничего устанавливать, используйте PowerShell, в противном случае стороннее приложение будет работать хорошо.
Теперь вы знаете все программы, которые у вас есть, возможно, вы хотите переместить их. Ознакомьтесь с нашим руководством по перемещению установленных программ в Windows 10