Получение списка программ
Ключ реестра, который содержит все программы следующий:
Список программ можно получить так:
Если взглянуть на вывод, то можно подумать, что нам нужно свойство Name, так как оно лучше всего соответствует названию программы, но этот выбор будет некорректный. Вместо значений свойства Name можно увидеть идентификаторы приложения, а вот DisplayName выглядит корректно:
В примерах ниже я буду получать только значения из колонки Property DisplayName и DisplayVersion. Вы легко можете добавить другие значения, если вас заинтересуют, сами.
Команда, которая вернет только версию и отображаемое имя:
Примеры скриптов проверяются на Windows Server 2019 и Windows 10. На серверной версии появляются пустые строки связанные с нестандартными объектами:
Я решил их не включать в список программ, так как они относятся к системным программам установленными вместе с ОС. Скрипт, который исключит их, выглядит так:
Список установленных программ с использованием Geek Uninstaller
Откройте загруженный исполняемый файл. Список установленных программ отображается в главном окне Geek Uninstaller.
Чтобы сохранить этот список в файл HTML, нажмите Ctrl + S, На Сохранить как диалоговое окно, перейдите в папку, в которую вы хотите сохранить список установленных программ, введите Имя файла и нажмите Сохранить,
HTML-файл автоматически открывается в браузере по умолчанию после его сохранения. Список содержит название и размер каждой программы, а также дату, когда программа была установлена.
Нажмите Ctrl + S чтобы сохранить Установленные программы HTML-страница в выбранном вами месте с пользовательским именем файла.
Geek Uninstaller также позволяет отображать список приложений, установленных из Магазина Windows
Перейти к Вид> Приложения для Магазина Windows, Обратите внимание, что это отдельный список для другого – он не объединяет их
Все приложения, установленные на вашем компьютере с экрана Магазина Windows. Вы можете экспортировать этот список в файл HTML так же, как вы делали это для списка обычных программ Windows.
,
Получение списка компьютеров
Следующая команда вернет список всех компьютеров которые есть в AD:
Она сработает в случаях если у вас установлен RSAT, импортирован модуль AD или вы на сервере с AD.
Следующим способом мы получим только имена компьютеров:
Мы можем использовать эту команду без дополнительных параметров, но могут быть ошибки:
Если не учитывать особенности вашей инфраструктуры, то причины в основном 3:
- Компьютер выключен.
- Компьютер отключен как учетная запись.
- На указанном компьютере не настроен WinRM (PSRemoting), не открыт порт или нет нужных привилегий на такую команду.
О третьей причине мы уже говорили. Что касается первых двух мы можем их решить.
В случае если отключены учетные записи компьютеров, то отфильтровать их можно так:
Выключенные компьютеры можно проверить через команду Test-NetConnection (аналог ping):
Плюсы метода выше в том, что вы получите список компьютеров, которые оффлайн. Минусы в том, что вы не можете изменить время возвращения ответа на ICMP пакет, а оно будет длиться 3-7 секунд.
И последний пример — это использовать возможность игнорирования ошибок через -ErrorAction SilentlyContinue. Этот пример самый быстрый, но вы не получите список исключенных компьютеров в чистом виде:
Исключение программ
Исключить определенные программы мы можем по нескольким причинам. Это могут быть:
- Стандартные программы. Например Adobe Reader будет на большинстве компьютеров.
- Не несут информационной пользы. В список программ могут входить пакеты обновлений.
Я создал следующий список:
Использование знака * в названиях говорит, что в этой части строки может находится еще текст, но не обязательно.
Для исключения программ я сделал еще один командлет, который будет принимать 2 параметра:
- Список программ в переменной $Programs
- Список исключений в переменной $ExcludeList
Теперь мы можем исключать программы так:
Экспорт данных в CSV и открытие в Excel
Команда, которая эскортирует данные, называется Export-CSV. Если вы не исключаете программы, то можете выполнить ее так:
В нашем случае файл будет сохранен на диске C, под именем programs.csv. При появлении ошибок при экспорте с кодировками, делиметром (разделителем), до записью вы можете попробовать исправить прочитав эту статью «Powershell экспорт и запись в CSV файл».
Если вы исключаете программы, то можете выполнить ее так:
Открыв Excel и выбрав следующий пункт выберете файл в проводнике:
В новом окне посмотреть на разделитель, который используется, и нажать «Далее»:
Выбрать разделитель (будет либо запятая или точка-запятая):
Результат будет примерно следующим:
Если выделить шапку (как в примере выше) и нажать «Фильтр», то сможете более удобно фильтровать результат.
Теги:
#powershell
#ad
#инвентаризация
Список установленных программ с использованием CCleaner
, Тем не менее, это удобно для одного использования, чтобы создать список установленных программ на вашем ПК, которые можно сохранить в текстовом файле.
После установки откройте CCleaner и нажмите инструменты затем слева Удалить,
Нажмите синий Сохранить в текстовый файл Кнопка в правом нижнем углу.
На Сохранить как диалоговое окно, перейдите в папку, в которую вы хотите сохранить список установленных программ, введите Имя файла и нажмите Сохранить,
Список установленных программ включает в себя компанию, дату установки, размер и номер версии для каждой программы.
Текст разделяется табуляцией, что затрудняет его чтение в текстовом редакторе. Вы можете импортировать текст из этого файла в Excel, чтобы его было легче читать.
Преобразование списка программ в лист Excel
Откройте Excel. Перейти к Открыть> Обзор и измените раскрывающийся список рядом с Имя файла быть Все файлы, Затем перейдите туда, куда вы экспортировали текстовый файл, и откройте его.
На первом экране Мастер импорта текста диалоговое окно, убедитесь, что разделители выбран под Выберите тип файла, который лучше всего описывает ваши данные, щелчок следующий,
На втором экране убедитесь, что табуляция проверяется под Разделители,
щелчок Конец, Ваш список программ затем импортируется в столбцы на листе в Excel.