Я работаю над приложением удаленного администрирования, которое должно иметь возможность получать список исправлений, примененных к приложению. В этой статье поддержки предлагается два способа их хранения:
https://support.microsoft.com/en-us/kb/888535
Те, которые устанавливаются с помощью Update.exe, легко получить из реестра.
Однако исправления, установленные с помощью установщика Windows, хранятся в файлах MSI и MSU (?). Я могу прочитать их локально, вызвав метод установщика Windows MsiEnumPatches с идентификатором GUID приложения.
Однако мне нужно делать это удаленно. У меня есть учетная запись администратора на целевой машине. Для других процессов я могу использовать типы Win32_ * и WMI для удаленного доступа к функциям. Однако похоже, что в интерфейсе WMI для установщика Windows нет эквивалентной функции.
Предоставляемые классы API находятся по адресу https://msdn.microsoft.com/en-us/library/windows/desktop/aa394523
Кажется, нет ни одного, из которого я могу получить список исправлений, применяемых к конкретному приложению.
Может кто-то указать мне верное направление? Возможен запуск msiexec.exe в качестве удаленной команды, но переключатели интерфейса командной строки, похоже, не обеспечивают необходимой функциональности.
Вы можете использовать программу просмотра событий? Вы также можете использовать get-winevent
This is using Get-CimInstance -ClassName Win32_NTLogEvent
Category : 1
CategoryString : Windows Update Agent
EventCode : 43
EventIdentifier : 43
TypeEvent :
InsertionStrings : {Update for Windows 8.1 for x64-based Systems (KB3118401), {a9405868-c0fb-44dd-b13b-ab595d85d6df}, 201}
LogFile : System
Message : Installation Started: Windows has started installing the following update: Update for Windows 8.1 for x64-based Systems (KB3118401)
RecordNumber : 17648
SourceName : Microsoft-Windows-WindowsUpdateClient
TimeGenerated : 13/03/2016 4:31:09 PM
TimeWritten : 13/03/2016 4:31:09 PM
Type : Information
UserName :