- Сбор данных об установленных программах во всем AD с Powershell
- Получение списка программ
- Удаленное подключение к компьютерам
- Создание командлета
- Исключение программ
- Получение списка компьютеров
- Экспорт данных в CSV и открытие в Excel
- Как получить список установленных программ Windows
- Получаем список установленных программ с помощью Windows PowerShell
- Получение списка установленных программ с помощью стороннего ПО
- 5 способов создать список всех установленных программ в Windows
- 1. Список установленных программ с помощью PowerShell
- 2. Список установленных программ с использованием командной строки
- 3. Список установленных программ с помощью панели управления
- 4. Список установленных программ с использованием CCleaner
- Совет: преобразуйте список программ в таблицу Word
- Совет. Преобразуйте список программ в лист Excel
- 5. Список установленных программ с использованием Geek Uninstaller
- Храните сгенерированные списки приложений на внешних носителях
Сбор данных об установленных программах во всем AD с Powershell
Для сбора списка программ используя Powershell есть много методов. Это может быть win32_product, команда Get-AppxPackage и многие другие. У большинства методов есть два минуса:
- Они выполняются очень долго (win32_product может выполняться несколько минут);
- Методы возвращают не все установленные программы.
Для обхода этих проблем, в примерах ниже, будет использоваться способ используя ключ реестра. Конечной целью будет получения списка всех программ со всего AD и последующий экспорт CSV (Excel). Так же будет показан способ исключения из списка тех программ, которые являются стандартными для компании.
Навигация по посту
Получение списка программ
Ключ реестра, который содержит все программы следующий:
Список программ можно получить так:
Если взглянуть на вывод, то можно подумать, что нам нужно свойство Name, так как оно лучше всего соответствует названию программы, но этот выбор будет некорректный. Вместо значений свойства Name можно увидеть идентификаторы приложения, а вот DisplayName выглядит корректно:
В примерах ниже я буду получать только значения из колонки Property DisplayName и DisplayVersion. Вы легко можете добавить другие значения, если вас заинтересуют, сами.
Команда, которая вернет только версию и отображаемое имя:
Примеры скриптов проверяются на Windows Server 2019 и Windows 10. На серверной версии появляются пустые строки связанные с нестандартными объектами:
Я решил их не включать в список программ, так как они относятся к системным программам установленными вместе с ОС. Скрипт, который исключит их, выглядит так:
Удаленное подключение к компьютерам
Так как скрипт должен подключаться к удаленным компьютерам я добавлю командлет PSRemoting (WinRM). Эта технология нуждается в предварительных настройках. В доменных сетях, при использовании DNS имен компьютеров, может все сработать и без этого. Проверить работу этой возможности с помощью следующего командлета:
Если у вас появляются ошибки, то советую проверить, что консоль Powershell запущена от имени администратора и служба включена:
Используя только описанные методы у нас получится достаточно сложный скрипт, который будет иметь следующую логику:
Что бы избежать такого сложно читаемого кода я объединю все это в одну функцию-командлет.
Создание командлета
Команда, которая вернет список программ с любого компьютера будет выглядеть так:
Если вы планировали добавить больше, а не только имя и версию, то его нужно добавить в месте на скриншоте:
После этого мы сможем получать наш список следующими способами:
Отмечу, что команда Get-Programs перестанет работать после завершения сессии пользователя и затем ее понадобится объявлять заново. Если вы хотите что бы они импортировались автоматически почитайте конец статьи «Как создавать команды и функции в Powershell вызывать их и передавать параметры».
Исключение программ
Исключить определенные программы мы можем по нескольким причинам. Это могут быть:
- Стандартные программы. Например Adobe Reader будет на большинстве компьютеров.
- Не несут информационной пользы. В список программ могут входить пакеты обновлений.
Я создал следующий список:
Использование знака * в названиях говорит, что в этой части строки может находится еще текст, но не обязательно.
Для исключения программ я сделал еще один командлет, который будет принимать 2 параметра:
- Список программ в переменной $Programs
- Список исключений в переменной $ExcludeList
Теперь мы можем исключать программы так:
Получение списка компьютеров
Следующая команда вернет список всех компьютеров которые есть в AD:
Она сработает в случаях если у вас установлен RSAT, импортирован модуль AD или вы на сервере с AD.
Следующим способом мы получим только имена компьютеров:
Мы можем использовать эту команду без дополнительных параметров, но могут быть ошибки:
Если не учитывать особенности вашей инфраструктуры, то причины в основном 3:
- Компьютер выключен.
- Компьютер отключен как учетная запись.
- На указанном компьютере не настроен WinRM (PSRemoting), не открыт порт или нет нужных привилегий на такую команду.
О третьей причине мы уже говорили. Что касается первых двух мы можем их решить.
В случае если отключены учетные записи компьютеров, то отфильтровать их можно так:
Выключенные компьютеры можно проверить через команду Test-NetConnection (аналог ping):
Плюсы метода выше в том, что вы получите список компьютеров, которые оффлайн. Минусы в том, что вы не можете изменить время возвращения ответа на ICMP пакет, а оно будет длиться 3-7 секунд.
И последний пример — это использовать возможность игнорирования ошибок через -ErrorAction SilentlyContinue. Этот пример самый быстрый, но вы не получите список исключенных компьютеров в чистом виде:
Экспорт данных в CSV и открытие в Excel
Команда, которая эскортирует данные, называется Export-CSV. Если вы не исключаете программы, то можете выполнить ее так:
В нашем случае файл будет сохранен на диске C, под именем programs.csv. При появлении ошибок при экспорте с кодировками, делиметром (разделителем), до записью вы можете попробовать исправить прочитав эту статью «Powershell экспорт и запись в CSV файл».
Если вы исключаете программы, то можете выполнить ее так:
Открыв Excel и выбрав следующий пункт выберете файл в проводнике:
В новом окне посмотреть на разделитель, который используется, и нажать «Далее»:
Выбрать разделитель (будет либо запятая или точка-запятая):
Результат будет примерно следующим:
Если выделить шапку (как в примере выше) и нажать «Фильтр», то сможете более удобно фильтровать результат.
Как получить список установленных программ Windows
В этой простой инструкции — два способа получить текстовый список всех программ, установленных в Windows 10, 8 или Windows 7 встроенными средствами системы или с помощью стороннего бесплатного ПО.
Для чего это может потребоваться? Например, список установленных программ может пригодиться при переустановке Windows или при приобретении нового компьютера или ноутбука и его настройке «под себя». Возможны и другие сценарии — например, для выявления нежелательного ПО в списке.
Получаем список установленных программ с помощью Windows PowerShell
В первом способе будет использоваться стандартный компонент системы — Windows PowerShell. Для его запуска вы можете нажать клавиши Win+R на клавиатуре и ввести powershell или же использовать поиск Windows 10 или 8 для запуска.
Для того, чтобы отобразить полный список установленных на компьютере программ достаточно ввести команду:
Результат будет выдан прямо в окне PowerShell в виде таблицы.
Для того, чтобы автоматически экспортировать список программ в текстовый файл, команду можно использовать в следующем виде:
После выполнения указанной команды список программ будет сохранен в файл programs-list.txt на диске D. Примечание: при указании корня диска C для сохранения файла вы можете получить ошибку «Отказано в доступе», если вам нужно сохранить список именно на системный диск, создайте на нем какую-либо свою папку на нем (и сохраняйте в него), либо запускайте PowerShell от имени администратора.
Еще одно дополнение — вышеописанный способ сохраняет список только программ для рабочего стола Windows, но не приложений из магазина Windows 10. Для получения их списка используйте следующую команду:
Подробнее о списке таких приложений и операциях над ними в материале: Как удалить встроенные приложения Windows 10.
Получение списка установленных программ с помощью стороннего ПО
Многие бесплатные программы деинсталляторы и другие утилиты также позволяют экспортировать список установленных на компьютере программ в виде текстового файла (txt или csv). Один из самых популярных таких инструментов — CCleaner.
Для получения списка программ Windows в CCleaner выполните следующие действия:
- Зайдите в раздел «Сервис» — «Удаление программ».
- Нажмите «Сохранить отчет» и укажите место сохранения текстового файла со списком программ.
При этом, CCleaner сохраняет в списке как программы для рабочего стола, так и приложения магазина Windows (но только те, которые доступны для удаления и не интегрированы в ОС, в отличие от способа получения этого списка в Windows PowerShell).
Вот, пожалуй, и всё на эту тему, надеюсь, для кого-то из читателей информация окажется полезной и найдет свое применение.
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
01.06.2016 в 20:27
Здравствуйте, столкнулся с проблемой, на windows 10 в аиде показывает версию directx 12. В самом dxdiag — 11.1 — чему верить?
Извиняюсь за сообщение не в тему
02.06.2016 в 11:00
Здравствуйте. Установлены библиотеки DirectX 12, а используются и поддерживаются видеокартой (или текущими ее драйверами) — 11.1, подробно по вопросу писал здесь: https://remontka.pro/directx-version/
02.06.2016 в 09:46
Проблема: .NET Framework Unhandled exception has occurred in your application…
02.06.2016 в 10:24
Это в какой момент и в каком способе? Можно попробовать удалить, а затем заново поставить NET Framework через программы и компоненты — компоненты Windows
02.06.2016 в 13:55
Спасибо Дмитрий! Не знал, что PowerShell так может. Очень полезная статья.
03.06.2016 в 12:23
Вопрос. А как с помощью PowerShell получить список программ на удалённом ПК находящимся в той же сети, зная имя ПК или его ip-адрес.
У Windows есть инструмент «Управление компьютером», который позволяет подключаться к другим ПК, но список программ там не посмотреть.
04.06.2016 в 10:28
Здравствуйте. Сейчас быстро нагуглил готовый скрипт для этого goo.gl/QgViNS но содержимое и работу не изучал.
04.06.2016 в 12:44
Дмитрий, у меня никак не получается ни первый ни второй вариант выполнения команд. Все время пишет не правильно указан путь или его не существует. Я в записи проставил диск «Е» не прошло Диск «H» тоже нет результата. В чем дело ? Ссылки твои копировал в точности,а результат его нет. С почтением Л.Г.
05.06.2016 в 08:47
Здравствуйте. А если без вывода в текстовый файл, команда работает?
14.06.2016 в 18:54
Дмитрий! Для меня очень полезная статья. Огромное спасибо! Прошу извинить за позднюю реакцию, обстоятельства. Благодарю ещё раз, успехов!
23.03.2017 в 14:08
Консольный приём врёт. В частности он не сообщили, что в системе установлен 7z и FAR, зато натолкал много компонентов Python по-отдельности. В то время, как в appwiz.cpl есть и far и 7z, а Pyhton представлен двумя строчками.
22.02.2019 в 11:59
сортирует названия программ по алфавиту
02.04.2020 в 20:46
список содержит много лишнего по сравнению с Program and Feature, нпр многочисленные «CCC Help Czech». С другой отсутствует Microsoft Office и др.
03.04.2020 в 10:47
Там еще приложения «из магазина» и некоторые скрытые.
А вот почему Office отсутствует — не ясно, должен быть…
12.10.2020 в 13:59
При открытии печатного документа открывается программа без названия и в ней документ который я хочу распечатать. Но она почему-то на китайском языке и я не могу сменить его на русский.
5 способов создать список всех установленных программ в Windows
Вы, вероятно, со временем установили много программ на свой ПК с Windows, и вы, вероятно, не помните их все. Генерация списка установленных программ в Windows полезна по нескольким причинам:
- Сброс или переустановка Windows. Список установленных программ позволяет узнать, что было установлено до сброса или переустановки. Вы можете обратиться к списку, когда Windows снова запустится.
- Настройка нового ПК. Вы, вероятно, хотите установить хотя бы некоторые из тех программ, которые были у вас на старом ПК.
- Освободите место на вашем компьютере. Создание списка установленных программ и просмотр его поможет вам обнаружить программы, которые вы не использовали годами и больше не нужны.
Сегодня мы рассмотрим пять способов создания списка установленных программ в Windows.
Инструменты, которые мы здесь обсуждаем, не включают лицензионные ключи и серийные номера для программ в списке. Ранее мы рассмотрели способы восстановления серийных номеров для программ Windows
1. Список установленных программ с помощью PowerShell
PowerShell — это более мощная среда командной строки, чем традиционная командная строка. Он может выполнять множество тех же задач, что и командная строка, но также может быть расширен и написан с помощью «командлетов».
Не пугайтесь силы PowerShell. Он также может выполнять простые действия, например, создавать список установленных программ на вашем компьютере.
Откройте PowerShell, нажав Win + X и выбрав Windows PowerShell в меню опытных пользователей.
Введите в командной строке следующую команду и нажмите Войти. Вы можете скопировать и вставить команду отсюда, но замените путь и часть имени файла («C: \ Users \ Lori \ Documents \ InstalledPrograms \ InstalledProgramsPS.txt») своим собственным путем и именем файла, который вы хотите использовать:
Список содержит название, версию и издателя для каждой установленной программы. Вы можете заметить несколько пустых строк между некоторыми элементами.
2. Список установленных программ с использованием командной строки
Если вам удобнее использовать традиционную командную строку
вместо PowerShell вы можете использовать инструмент командной строки инструментария управления Windows (WMIC) в окне командной строки.
Нажмите Win + R открыть Бежать диалоговое окно. Затем введите «cmd.exe» в открыто коробка и нажмите Хорошо или нажмите Войти.
Если появится диалоговое окно «Контроль учетных записей», нажмите да продолжать.
В командной строке введите «wmic» и нажмите Войти.
Введите следующую строку в WMIC: корень \ кли подскажите и нажмите Войти. Замените часть пути и имени файла («C: \ Users \ Lori \ Documents \ InstalledPrograms \ InstalledProgramsWMIC.txt») своим собственным путем и именем файла, который вы хотите использовать:
Как только вы получите WMIC: корень \ кли вернуться назад, введите «выход» и нажмите Войти вернуться к обычной командной строке.
Введите «выход» снова и нажмите Войти закрыть Командная строка окно.
Текстовый файл с названием и версией для установленных программ на вашем компьютере генерируется и сохраняется в указанном вами месте.
3. Список установленных программ с помощью панели управления
Если вы не хотите вводить команды для создания списка установленных программ, есть другие способы. Одним из способов является просмотр всех установленных программ на Программы и особенности экран в Панель управления.
Введите «панель управления» в Поиск поле рядом с меню Пуск. Затем нажмите Панель управления под Лучший матч.
На Панель управления окно, нажмите Удалить программу под программы.
Если вы просматриваете элементы с помощью маленьких или больших значков, нажмите Программы и особенности вещь.
Чтобы увидеть все детали для каждой программы в списке на Удалить или изменить программу нажмите на Больше вариантов стрелка на Изменить свой взгляд кнопку и выберите подробности.
Нажмите на строку заголовка Панель управления окно, чтобы убедиться, что он активен. Затем нажмите Alt + Print Screen (или же Alt + Fn + Print Screen на некоторых ноутбуках или других устройствах) сделать скриншот окна.
Вставьте скриншот в другую программу, например Paint, и сохраните изображение. В Paint вы можете сохранить свой скриншот в формате PNG, JPEG, BMP, GIF или в другом формате.
В зависимости от того, сколько программ установлено, вам может потребоваться сделать несколько снимков экрана Панель управления окно, прокручивая вниз для каждого, чтобы захватить следующую часть списка. Если это так, вы можете вставить каждое изображение непосредственно в текстовый процессор, такой как Word, чтобы сохранить их все в одном файле.
4. Список установленных программ с использованием CCleaner
CCleaner — это программа для Windows
Это позволяет легко очистить и освободить место на вашем компьютере. В некоторых программах вы можете удалять временные файлы, историю просмотров и загрузок, а также списки последних документов.
Программа также включает в себя инструмент удаления, который генерирует список установленных программ на вашем компьютере. Этот список можно сохранить в текстовом файле.
Скачайте CCleaner и установите его. Имейте в виду, что Avast Free Antivirus будет автоматически установлен при установке CCleaner, если вы не уберете отметку Да, установить Avast Free Antivirus поле перед нажатием устанавливать начать установку.
Откройте CCleaner и нажмите инструменты Кнопка на серой боковой панели слева. Затем убедитесь, что Удалить выбран справа от этой боковой панели.
Нажмите синий Сохранить в текстовый файл Кнопка в правом нижнем углу.
На Сохранить как диалоговое окно, перейдите в папку, в которую вы хотите сохранить список установленных программ, введите Имя файла и нажмите Сохранить.
Список установленных программ включает в себя компанию, дату установки, размер и номер версии для каждой программы.
Текст разделен табуляцией, что затрудняет его чтение в текстовом редакторе. Вы можете импортировать текст из этого файла в Word или Excel, чтобы его было легче читать. Читайте дальше, чтобы узнать, как преобразовать эти данные в таблицу в Word или в лист в Excel.
Помните, что если вы сохраняете свой список программ в Word или Excel, вы должны установить эту программу в только что установленную или перезагрузить систему Windows, прежде чем вы сможете получить доступ к своему списку. Или используйте средства просмотра документов онлайн. Следующие два совета показывают, как форматировать текстовый список в аккуратные таблицы.
Совет: преобразуйте список программ в таблицу Word
Чтобы преобразовать свой список в таблицу в Word, откройте текстовый файл, сохраненный в Word. Преобразование файлов диалоговое окно отображается перед открытием файла, показывая, как текст будет выглядеть в предварительный просмотр коробка.
Примите настройки по умолчанию и нажмите Хорошо.
Выберите текст, который вы хотите преобразовать в таблицу. Затем на Вставить нажмите вкладку Таблица и выберите Преобразовать текст в таблицу.
Убедитесь, что количество столбцов 5 и это Вкладки выбран под Отдельный текст на.
Нажмите Хорошо продолжить преобразование.
Отформатируйте таблицу как хотите. Обязательно сохраните файл Word на внешнем или сетевом диске, чтобы иметь доступ к нему после переустановки или сброса Windows.
Совет. Преобразуйте список программ в лист Excel
Если вы предпочитаете иметь свой список программ в Excel, вот как конвертировать этот список в лист Excel.
Во-первых, мы рекомендуем вам сделать копию исходного текстового файла. Изменить расширение скопированного файла с .текст в .CSV и откройте .CSV файл в Excel.
На первом экране Мастер импорта текста диалоговое окно, убедитесь, что разграниченный выбран под Выберите тип файла, который лучше всего описывает ваши данные.
Примите значения по умолчанию для остальных настроек на этом экране и нажмите следующий.
На втором экране убедитесь, что табуляция проверяется под Разделители.
Нажмите Конец. Для наших целей нам не нужно выполнять Шаг 3.
Ваш список программ импортируется в столбцы на листе в Excel, что облегчает его чтение. Обязательно сохраните файл Excel на внешнем или сетевом диске, чтобы иметь доступ к нему после переустановки или сброса Windows.
5. Список установленных программ с использованием Geek Uninstaller
Geek Uninstaller — бесплатная портативная программа для Windows, используемая для полного удаления программ.
, включая все остатки. Программа также принудительно удаляет упрямые или сломанные программы. Вы можете использовать Geek Uninstaller для генерации и сохранения списка установленных программ на вашем ПК.
Скачать Geek Uninstaller. Программа портативная. Просто распакуйте загруженный файл в папку на вашем компьютере и запустите файл EXE.
Список установленных программ отображается в главном окне Geek Uninstaller. Чтобы сохранить этот список в файл HTML, откройте Geek Uninstaller и перейдите к Файл> Экспорт в HTML, или нажмите Ctrl + S.
На Сохранить как диалоговое окно, перейдите в папку, в которую вы хотите сохранить список установленных программ, введите Имя файла и нажмите Сохранить.
HTML-файл автоматически открывается в браузере по умолчанию после его сохранения. Список содержит название и размер каждой программы, а также дату, когда программа была установлена.
Если вы используете браузер, такой как Firefox, Chrome или Vivaldi, нажмите Ctrl + S чтобы сохранить Установленные программы HTML-страница в выбранном вами месте с пользовательским именем файла. Вы можете сохранить его на локальном жестком диске, но перед переустановкой Windows обязательно перенесите файл на внешний или сетевой диск. Другие браузеры могут иметь другой ярлык или опцию для сохранения файлов HTML.
Geek Uninstaller также позволяет отображать список приложений, установленных из Магазина Windows. Идти к Вид> Приложения для Магазина Windows.
Все приложения, установленные на вашем компьютере с экрана Магазина Windows. Вы можете экспортировать этот список в файл HTML так же, как вы делали для списка обычных программ Windows.
Храните сгенерированные списки приложений на внешних носителях
Возможно, вы заметили, что каждый из методов, которые мы здесь упомянули, производит немного другой список программ. Таким образом, вы можете использовать более одного метода и хранить каждый отдельный список.
Не забудьте хранить свои списки программ на внешнем или сетевом диске, чтобы иметь доступ к нему после переустановки Windows. При сбросе (вместо переустановки) Windows 10 программы удаляются, но ваши данные сохраняются. Независимо от ситуации, рекомендуется создавать резервные копии списков при резервном копировании данных.