#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. Хорошо, спасибо за это. Я буду продолжать копать. 🙂