Команда WMIC для установленного программного обеспечения через раздел реестра

#wmi #wmic #wmi-query

#wmi #wmic #wmi-запрос

Вопрос:

Я пытаюсь запустить команду WMIC для запроса всего установленного программного обеспечения на компьютере (НЕ POWERSHELL), но в настоящее время я получаю, но застрял на правильном синтаксисе. Это то, что у меня есть до сих пор, и оно возвращает ОШИБКУ: извлеките данные результата.

wmic -U имя пользователя%пароль //192.168.xxx.xxx —namespace=root/по умолчанию «выберите * из HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall»

Есть идеи, где я ошибаюсь?

Комментарии:

1. Пожалуйста, пересмотрите свою позицию по поводу «нет powershell». С PS это намного проще / чище, но если WMIC, вам нужно ознакомиться с методами в классе StdRegProv… вы не можете просто запросить, используя «выбрать *», вам нужно вызвать методы для извлечения данных. Вашим первым шагом будет перечисление подраздела с помощью… WMIC / NameSpace:\ root default Class StdRegProv Вызовите EnumKey sSubKeyName=»SOFTWARE Microsoft Windows CurrentVersion Uninstall» … затем для каждого подраздела вы можете использовать метод enumvalues для получения данных. Источник learn.microsoft.com/en-us/previous-versions/windows/desktop /…

2. Спасибо за это, я добился некоторого прогресса, изменив его на wmic -U usernam%password //192.168.xx.xx —namespace=root/default «ВЫБЕРИТЕ * ИЗ StdRegProv, ГДЕ sSubKeyName=HK_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion UninstallKey», но это все еще не совсем так.

3. К сожалению, добавление class и enumvalue приводит к ошибке использования. Существует очень веская причина для отказа от использования powershell, мы используем наше собственное программное обеспечение, в котором нет команд powershell, поскольку это открывает систему для потенциальных злоупотреблений (конечные пользователи используют наше программное обеспечение, поэтому добавление powershell представляет угрозу безопасности)

4. Вы не можете использовать запрос к этому классу, потому что у него нет экземпляров, вы должны использовать методы. Посмотрите, как использовать цикл «for» в командной строке, и соберите подразделы, используя команду wmic, которую я вам дал, затем для каждого результата перечислите значения. Это единственный способ сделать это с помощью StdRegProv.

5. Хорошо, спасибо за это. Я буду продолжать копать. 🙂