Тема: VBScript: почему не работают скрипты WMI?
Народные советы. Если не удаётся подключиться по WMI к удалённому компьютеру или какие-то WMI-скрипты неправильно работают:
Естественно, удалённый компьютер должен быть включён и находиться в сети.
На удалённых компьютерах с операционной системой Windows NT, Windows 95 или Windows 98 необходимо специально устанавливать WMI.
Как правило, желательно иметь права администратора на том удаленном компьютере, к которому осуществляется подключение с помощью WMI.
По умолчанию любой не принадлежащий домену компьютер с Windows XP разрешает всем сетевым пользователям работать только под учетной записью Гость. В гостевой модели при любых попытках войти в систему локального компьютера через сеть применяется только гостевая учетная запись. В классической модели пользователи при доступе через сеть входят в систему под своими учетными записями. Модель безопасности можно изменить. Установка параметра Forceguest ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa в 0 приводит к отключению гостевой модели (1 - включено). При отключенной гостевой модели у папок и файлов в свойствах появляется вкладка Безопасность.
У подключающегося пользователя должны быть права на чтение и исполнение к папке WINDOWS/system32 (там лежат файлы, используемые WMI).
Запустите WMI Control (C:\WINDOWS\system32\wmimgmt.msc) и попробуйте подключиться к другому компьютеру интерактивно. Запустите ту же оснастку на том компьютере, куда не удаётся подключиться, проверьте права (кнопка "Безопасность" на одноимённой вкладке, в свойствах).
Если вы используете метод Create() класса Win32_Process для запуска процессов, используйте локальные (не UNC) пути к файлам. Подробнее - в статье Рецепты WMI: управление процессами.
Проверьте, запущена ли служба "Запуск серверных процессов DCOM" (DcomLaunch).
Запустите mmc.exe, подключите оснастку "Службы компонентов". В дереве найдите нужный компьютер. В свойствах компьютера на вкладке "Безопасность COM" проверьте все права (четыре кнопки).
Проверьте, запущена ли служба "Background Intelligent Transfer Service".
Проверьте, запущена ли служба "Удаленный реестр (RemoteRegisry)".
Проверьте, запущены ли службы "Инструментарий управления Windows" (winmgmt), Расширения драйверов WMI (Windows Management Instrumentation).
Проверьте настройки брандмауэра (firewall) в соответствии с документацией на него (если это не встроенный брандмауэр).
При использовании пустых паролей могут возникнуть проблемы с подключением, если на удалённом компьютере в локальных политиках безопасности включен параметр "Учётные записи: ограничить использование пустых паролей для консольного ввода" (включено по умолчанию в Windows XP SP2). Откажитесь от пустых паролей, либо отключите это ограничение. Настроить данный параметр безопасности можно, открыв соответствующую политику и развернув дерево консоли следующим образом: Панель управления\Администрирование\Локальная политика безопасности\Параметры безопасности\Локальные политики\Параметры безопасности\Учётные записи: ограничить использование пустых паролей для консольного ввода -> Отключить.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.