Вход
testopay.com

Удаленное удаление программ при помощи WMI

birds
Администратор

Сообщений: 646

Благодарности: 99

На форуме: с 02.03.20

22 апр 2022   11:07

Некоторые из вас возможно задавались вопросом как удалить программу на удаленном компьютере. Рядовому пользователю это скорей всего не нужно, а системному администратору какой-нибудь локальной сети это может понадобиться.

Для удаления и установки ПО на удаленных компьютерах существует множество различных решений и программных средств. В этой статье мы рассмотрим решение данного вопроса на основе встроенных средств windows.

Удалять программы на удаленных машинах нам поможет Windows Management Instrumentation или проще говоря WMI. В переводе на русский это инструментарий управления Windows.

Как запустить wmi

Запуск wmi выполняется из командной строки. Открыть командную строку можно из "Пуск -> Все программы -> Стандартные -> Командная строка", либо просто нажимаете клавиши "WIN + R", откроется окно "Выполнить" в котором в поле "открыть" набираете "cmd" и нажимаете "OK"

запуск командной строки

 В открывшемся окне командной строки набираем команду wmic и нажимаем "Enter":

запуск wmi

Таким образом мы запустили консольную утилиту для взаимодействия со структурой WMI на локальном или удаленном компьютере. Теперь с помощью язык запросов WMI Query Language (WQL) можно выполнять различные команды WMI.

Для примера получим весь список установленного ПО на удаленном компьютере. Для этого выполняем следующий запрос:

/node:{имя компьютера} product get name

Где вместо {имя компьютера} подставляем имя удаленной и локальной машины, с которой необходимо получить список установленных программ. Имя компьютера лучше заключить в кавычки. Жмем "Enter", ждем некоторое время на сбор информации и получаем примерно следующую картину:

wmic-get-po

Как удалить программу с помощью WMI?

 Удалить программу можно с помощью следующего запроса:

/node:{имя компьютера} product where name={название программы} call uninstall

Где вместо {имя компьютера} вставляем имя компьютера с которого будет удаляться программа, а вместо {название программы} имя удаляемой программы как в полученном списке ПО. 

Например, нам необходимо удалить "Microsoft Office Professional Plus 2010". Тогда запрос будет выглядеть примерно так:

/node:{home2} product where name="Microsoft Office Professional Plus 2010" call uninstall

Нажимаем "Enter" и на запрос предложения удаления программы отвечаем Y:

wmic:rootcli>/node:"tep-ws000010" product where name="Microsoft Office Professional Plus 2010" call uninstall Execute (\TEP-WS000010ROOTCIMV2:Win32_Product.IdentifyingNumber="{90140000-0011-0000-1000-0000000FF1CE}",Name="Microsoft Office Professional Plus 2010",Version="14.0.4763.1000")->Uninstall() (Y/N/?)? Y

После попытки удаления будет выведено сообщение о результатах. В случае успешного удаления сообщение будет такого вида:

Method execution successful. Out Parameters: instance of __PARAMETERS { ReturnValue = 0; };