Тема: 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 для обычного пользователя?
Заранее благодарен.


