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

Рубрика: Windows
31 марта 2015

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

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

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

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

Создаём сайт на фреймворке Yii 2.0

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

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

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

запуск wmi

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

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

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

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

wmic-get-po

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

Создаём сайт на фреймворке Yii 2.0

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

/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:root\cli>/node:"tep-ws000010" product where name="Microsoft Office Professional Plus 2010" call uninstall
Execute (\\TEP-WS000010\ROOT\CIMV2: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;
};

На этом все! До встречи в следующих выпусках!

Получай статьи почтой:

Похожие статьи:


Комментарии
  1. Helix Dog

    Спасибо за подробную и понятную инструкцию

    10 марта 2016 10:37
  2. Иван

    Работает! А теперь плиз, если не сложно, выложите инструкции, как устанавливать программы!

    5 апреля 2016 14:32
  3. alex

    ОК, будет время напишу инструкции

    5 апреля 2016 14:55
  4. Сергей

    команда не работает так как ожидалось, т.е. удаляются только исполняемые файлы, сама программа остаётся. Команда некорректно работает с именами компьютеров такими как Comp-Sapr2. Выдаёт вот что - 

    wmic:root\cli>/node:Comp-Sapr2 product get name

    Comp — Invalid node <discarded>.

    Invalid Global switch.

    wmic:root\cli>

     

    С именами компьютеров: Ivanov, CompSapr1 работает нормально, но как я писал, команда удаляет только исполняемые файлы.

    10 августа 2016 03:41
  5. alex

    Comp-Sapr2 нужно взять в кавычки:

    wmic:root\cli>/node:"Comp-Sapr2" product get name

    насчет почему удаляются только исполняемые файлы не знаю... у меня вроде все нормально, программа исчезает из панели «Программы и компоненты», иногда остаются различные файлы настроек, но они и при обычном удалении остаются

    11 августа 2016 09:55
  6. Hosting

    Это не файлы, создаваемые на диске при установке программы, они созданы в процессе последующей работы уже установленной программы. И это, очевидно, к теме не относится. Могу я попросить вас следовать вашей же безотказной просьбе вести обсуждение только по теме этой записи?

    7 января 2017 04:56
  7. Владимир

    При исполнении, допустим Lync 2010, возвращает ноль, а для офиса 2010 возвращает 1603

    в чём секрет?

    11 мая 2017 11:04

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




Подписаться, не комментируя -