0

То же скомпилированное .Net/C++/Com программа выполняет разные действия на двух, казалось бы, таких же компьютерах. У обоих есть ДОЗИНЫ вещей, установленных на них. Я хотел бы выяснить, какая разница между ними, посмотрев на ASCII diff. До этого мне нужно «сериализовать» список установленных вещей в простом читаемом формате - отсортировано по алфавиту + по одному элементу на строку.Поиск сценария/инструмента для удаления списка установленных функций и программ в Windows Server 2008 R2

Python-скрипт был бы идеальным, но у меня также установлен Perl, PowerShell.

спасибо.

+0

См. Http://stackoverflow.com/questions/802499/how-can-i-enumerate-list-all-installed-applications-in-windows-xp http: // stackoverflow.com/questions/908850/get-installed-applications-in-a-system http://stackoverflow.com/questions/1603455/in-c-net-2-0-or-greater-how-to-get-list -of-all-installed-applications-on-vista и http://stackoverflow.com/questions/2246768/finding-all-installed-applications-with-powershell – Helen

ответ

1

Вы можете получить список установленных программ из реестра. Это под HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall

Если это одноразовое упражнение, которое вы можете даже не нужно писать код - просто используйте Regedit для экспорта ключа в файл .REG. Если вы хотите автоматизировать его, Python предоставляет модуль _ winreg для доступа к реестру.

+0

Вы также можете использовать простой сценарий powershell для этого, что-то (Get-Item $ RegPath). Возможно, здесь может оказаться полезным свойство. –

1

Есть два средства от Microsoft, которые могут быть то, что вам нужно: RegDump и RegDiff. Вы можете скачать их с various places, в том числе в составе инструментария тестирования Microsoft Vista.

Кроме того, есть статья поддержки Microsoft How to Use WinDiff to Compare Registry Files.

На пути вещего, here является рецептом ActiveState для получения форматированного вывода всех подразделов для конкретного ключа (HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall, например).

1

Лично мне всегда нравились вещи Sysinternals' (МОЩНЫЕ, свет, реальные инструменты - не нужно устанавливать)

Там есть инструмент командной строки psinfo, что вы можете получить то, что вы хотите (и затем некоторые) в различных форматах, отличия исправлений и установленного программного обеспечения на локальном или удаленном компьютере (предоставление системных политик разрешает его на удаленном компьютере).

Вы также можете запустить его в прямом эфире от here, так что, хотя и не строго pythonic, вы можете подключить его довольно хорошо.

1

Взятые из List installed software from the command line:

Если вы хотите получить список программного обеспечения, известного управления Windows Instrumentation (WMI) из командной строки, используйте WMI командной строки интерфейса (WMIC).

Чтобы получить список всех продуктов, установленные локально, выполните следующую команду :

wmic product

РИСКОВАННОЙ: Кажется, что эта команда устанавливается только список программного обеспечения с помощью Windows Installer. См. Win32_Product class

Смежные вопросы