1

Тема: JScript & WMI: Изменение настроек IP c правами Пользователя

Здравствуйте. При написании сценария для смены IP адреса (+маски, шлюза, dns) возникла проблема...

var strMac = "Сдесь MAC нужной карты";
var service =  GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2");
var items = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration " +
                                  "WHERE MACAddress='" + strMac + "'");

var arrIpAddr = new Array("192.168.0.8"), arrSubnet = new Array("255.255.255.0"),
    arrGate   = new Array("192.168.0.1");
for (var eConf = new Enumerator(items); !eConf.atEnd(); eConf.moveNext()) {
    var config = eConf.item();
    if (config.MACAddress == strMac) {
        var res = config.EnableStatic(arrIpAddr, arrSubnet);
        res = config.SetGateways(arrGate);
    }
}

Подобных скриптов (правда они в основном на VBScript) в сети очень много.
Этот скрипт прекрасно работает когда запускается от имени администратора, но мне нужно чтобы он работал и для обычного пользователя.
Этот самый пользователь входит в групы "Пользователи", "Опытные пользователи", "Операторы настройки сети" и спокойно может изменять IP вручную (с помощью netsh или окна "Настройка соединения").
Но когда от его имени запускается этот скрипт, то функция EnableStatic возвращает значение 0x5B = 91.
Согласно MSDN http://msdn.microsoft.com/en-us/library … S.85).aspx это ошибка "Access denied" т.е. данное действие запрещено для скрипта.
Каким образом можно дать привелегии скрипту на смену IP для обычного пользователя?
Заранее благодарен.

2

Re: JScript & WMI: Изменение настроек IP c правами Пользователя

Если это Vista/7, то можно в брандмауэре задать запуск wscript.exe с администраторскими правами. Я думаю, что именно это и надо использовать. Ещё можно повысить приоритет процесса. http://www.forum.script-coding.com/view … hp?id=5808

3

Re: JScript & WMI: Изменение настроек IP c правами Пользователя

Рекомендую посмотреть тему: VBS: Ярлык для запуска приложения от имени администратора (UAC) и последний пост в ней. Там много примеров.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

4 (изменено: Аскет, 2011-05-27 02:47:40)

Re: JScript & WMI: Изменение настроек IP c правами Пользователя

Ottiwell_Wood, Xameleon: Товарищи, зачем всё это?

hex:
Попробуйте поиграться с уровнем олицетворения.

Например, {impersonationLevel=identify}

5

Re: JScript & WMI: Изменение настроек IP c правами Пользователя

Уровень олицетворения?http://forum.script-coding.com/chat/smiles/13.gif

6

Re: JScript & WMI: Изменение настроек IP c правами Пользователя

Ottiwell_Wood пишет:

Уровень олицетворения?http://forum.script-coding.com/chat/smiles/13.gif

Да, все правильно написано. Справка.