Using wildcards and like statements in WMI queries and scripts – 404 Tech Support

Is there an efficient way to query if product is installed on windows and retrieve identifyingnumber

I’m trying to automate a test process to first uninstall a product if present.

To find the product I’ve so far found that the information is available through wmi and wmic product get IdentifyingNumber, name, version | findstr /I /C:"Name" retrieves the info I need.

This query and search takes a long time, but I couldn’t seem to get a wmi where clause to work.

Is there something I can do to make this faster?
Or, Is there some other method to get to the IdentifyingNumber?

Using wildcards and like statements in wmi queries and scripts – 404 tech support

Continuing to take advantage of using WMI to get datafrom workstations, another project recently came up to get an inventory of printers installed across my organization. It ended up being a pretty easy task using WMI through a startup script but the results could be tailored more by being selective about the results. Combined with formatting the output as a csv and later merging the output into a single file, the script in all its simplicity is essentially a single line. A few lines of logic around it smooths out the process to be more efficient than running every startup.

The command comes down to using WMIC.exe to query the Printer class. You can get a lot of attributes about your printer this way. The wheels in my head are already turning to include this in a standard backup script as an excellent source of information without the heavy-handedness of PrintMigrator.

:/>  Как запустить и правильно настроить msconfig в Windows

The script in its simple form looks like this:

wmic.exe PRINTER GetName, PortName, DriverName

Adding a little complexity to it like a SQL statement (SELECT-FROM-WHERE), we can add a Where conditional to limit our data to only return what we want. For example, return only printers with the term HP in the DriverName.

wmic.exe PRINTER where "DriverName like '%HP%'" Get Name, PortName, DriverName, Default, ShareName

Using wildcards and like statements in WMI queries and scripts - 404 Tech Support

To continue to tailor the data, you can logically combine conditions to get exactly what you want.

wmic printer where "DriverName like '%HP%' OR DriverName like '%Microsoft%'" Get Name, PortName, DriverName

You can also invert the statement to get everything but what matches the query by using a NOT statement. Try this out:

wmic printer where "not DriverName like '%HP%'" Get Name, PortName, DriverName

Using the wildcards in a batch or command script is very similar. The only difference to remember is using two percent signs to escape the wildcard in the script so it gets passed through instead of being executed. You can see the full script that makes use of this below.

 REM Printer query script
 REM Jason Hamilton, June 2022
 REM Check if file exists, if so, skip
WMIC.exe /output:servershare%COMPUTERNAME%.txt PRINTER where "DriverName like '%%HP%%'" GET Name, PortName, DriverName /format:csv

If you get a result that states invalid query or just returns ‘node,’ it may just mean that the computer doesn’t have any information that meets your conditions.

Of course, you can use this on other WMIC classes like Services, BIOS, and ComputerSystem to create a query that gets just the information you want.

:/>  Kms активатор windows 10 инструкция

Удаление классических приложений и приложений из магазина windows с использованием новой панели управления

Нажмите кнопку Пуск и выберите Параметры

Перейдите в раздел Система – Приложения и возможности

Выберите приложение, которое требуется удалить, и нажмите кнопку Удалить

В случае удаления классического приложения, будет вызвана его программа удаления. При удалении приложений из Магазина Windows диалоговые окна не предусмотрены.

Using wildcards and like statements in WMI queries and scripts - 404 Tech Support
Увеличить рисунок

Некоторые приложения из Магазина Windows не могут быть удалены из системы, в этом случае кнопка удаления неактивна.

Как и прежде, классические приложения вы можете удалять из оснастки Установка и удаление программ в классической Панели управления или запуская программу удаления непосредственно из папки программы.

Удаление классических приложений с использованием командной строки

В этом сценарии используется утилита командной строки WMIC, предназначенная для взаимодействия с инструментарием управления Windows (WMI).

Для выполнения действий с программами запустите командную строку от имени администратора и выполните команду wmic.

Примечание: при помощи wmic возможно взаимодействие только с классическими приложениями, установленными при помощи Windows Installer.

Для получения списка установленных программ выполните следующую команду:

product get name

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

Using wildcards and like statements in WMI queries and scripts - 404 Tech Support
Увеличить рисунок

Вы также можете сохранить список названий программ в текстовый файл для дальнейшего их использования.

Удаление приложений из магазина windows с использованием powershell

Для удаления приложений этим способом понадобится получить имена их пакетов, которые будут использоваться для удаления.

Откройте PowerShell от имени администратора. Для этого нажмите кнопку Пуск или значок поиска на панели задач и напечатайте PowerShell. На найденном классическом приложении Windows PowerShell нажмите правую кнопку мыши и выберите пункт Запустить от имени администратора.

:/>  Настройка мыши в Windows: чувствительность, настройка кнопок, изменение указателя

В PowerShell выполните команду


В результате выполнения этой команды будет показан список всех установленных приложений из Магазина Windows.

Для удаления приложений в командах будут использоваться имена пакетов, которые удобнее копировать чем печатать вручную, поэтому вы можете сохранить результат выполнения команды выше в текстовый файл. Для этого выполните следующую команду:

Оставьте комментарий