Если возникла необходимость на постоянной основе мониторить компьютеры пользователя с ОС Windows на предмет наличия несанкционированного появления административных прав для той или иной учетной записи, то можно воспользоваться небольшим скриптом.
Данные скрипт написан на скриптовом языке JScript и выполняется Windows Script Host. Скрипт вытаскивает членов локальной группы администраторов (как локальных, так и доменных) и отправляет эти данные на веб-сервер.
Данный скрипт помещается в сценарий, который исполняется на клиентских машинах при входе в систему.
Запуск скрипта через .bat файлcscript.exe //NoLogo \\10.0.0.5\logon\GetAdmin.js
Для исполнения скрипта на машинах пользователя не требуется установки каких-либо дополнительных инструментов.
//адрес веб сервера куда будут отправляться данные
var MUrl = "http://10.0.0.5/";
var objNetwork = new ActiveXObject("WScript.Network");
var strUser = objNetwork.UserName;
var strComputer = objNetwork.ComputerName;
var objWMIService = GetObject("winmgmts:\\\\.\\root\\cimv2");
var strQuery = "select * from Win32_GroupUser where GroupComponent = \"Win32_Group.Domain=" + "\'" + strComputer + "\'" + ",Name=" + "\'" + "Администраторы" + "\'" + "\"";
var Collection = new Enumerator(objWMIService.ExecQuery(strQuery));
var objItem
var rez = "";
for (; !Collection.atEnd(); Collection.moveNext()) {
objItem = Collection.item();
var nm = (objItem.PartComponent.split(",")[1]).replace('"', '').replace('"', '').split('=')[1];
rez += nm + ";";
}
var oXMLHTTP = createXMLHttp();
if (oXMLHTTP) {
//формируем запрос к веб-cерверу с передачей данных
oXMLHTTP.Open("GET", MUrl + "SetDataAdmin?UN=" + strUser + "&WN=" + strComputer + "&RZ=" + rez, false);
oXMLHTTP.send(null);
}
function createXMLHttp() {
var aVersions = ["MSXML2.XMLHttp.6.0",
"MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"
];
for (var i = 0; i < aVersions.length; i++) {
try {
var oXmlHttp = new ActiveXObject(aVersions[i]);
return oXmlHttp;
} catch (oError) {
}
}
throw new Error("MSXML is not installed.");
return null;
}