| |
Установка и удаление программ средствами WMI из скриптов VBScript, инвентаризация установленных программ, объект Win32_Product
Последняя большая категория классов WMI - классы, предназначенные для работы с установленными продуктами. Большинство таких классов предназначены для использования в установочных скриптах разработчиками программных продуктов. Однако возможности класса Win32_Product могут оказать очень полезными и для обычных администраторов. При помощи этого класса можно получить коллекцию, представляющие все установленные продукты в Windows. Для выполнения с ними различных операций предусмотрен набор методов этого класса:
- Install - возможность установить приложение (потребуется указать полный путь к пакету MSI). Admin - провести административную установку.
- Advertise - вывести пакет в списке доступных для установки приложений в консоли Add/Remove Programs;
- Reinstall, Upgrade, Configure, Uninstall - то, что делают эти методы, понятно из названия.
Например для установки программы на удаленный компьютер необходимо выполнить скрипт следующего вида:
Set oSoftware = oSvc.Get("Win32_Product")
errReturn = oSoftware.Install("\\FS1\Distrib\myApp.msi",,True)
Wscript.Echo errReturn
Отметим некоторые моменты, связанные с применением объекта Win32_Product:
- в Windows 2003 Server этот объект по умолчанию не установлен. Доустановить его можно, выбрав в Add/Remove Programs -> Add/Remove Windows Components -> Management and Monitoring Tools компонент WMI Installer Provider;
- работать этот компонент умеет только через Windows Installer. Соответственно, он сможет увидеть только программы, установленные при помощи Windows Installer (обычно при помощи пакетов MSI);
- при автоматизированной установке программного обеспечения WMI Installer Provider по умолчанию будет обращаться к сетевому каталогу с дистрибутивом от имени локальной системной учетной записи (которая аутентифицировать на других компьютерах не может). Поэтому нужно ли открывать к сетевому каталогу с дистрибутивом гостевой доступ (от имени учетной записи Guest), или копировать предварительно файлы дистрибутива на локальный диск, или использовать специальный синтаксис для указания имени пользователи и пароля.
| |
 |
|