Javascript: два скрипта

Aug 29, 2007 12:04


Писано-переписано уже, а все-таки спокойней, когда работает свое. Пара скриптов: возвращающий к жизни мертвую программу и показывающий IP и MAC установленных сетевых карт (когда-то мне это было нужно, чтобы не объяснять клиенту, как посмотреть ipconfig /all или лезть в настройки TCP/IP и там смотреть всплывающий title).



check_process.js

var exe = "notepad.exe";
var exec = "c:\\windows\\notepad.exe"; // ONLY DOS-style directory names! Progra~1 etc.! No spaces!

var ExecHidden = 0;
var ExecMinimized = 2;
var ExecMaximized = 3;
var ExecDefaultWindow = 5;
var ExecMinimizedZ = 6;

// Which window state to use
var ExecParam = ExecMinimized;

var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var FoundIt = false;

var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2");
var colItems = objWMIService.ExecQuery("SELECT Description FROM Win32_Process", "WQL",
wbemFlagReturnImmediately | wbemFlagForwardOnly);

var enumItems = new Enumerator(colItems);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
var objItem = enumItems.item();
if (objItem.Description.toLowerCase() == exe.toLowerCase())
FoundIt = true;
}

if (FoundIt)
{
WScript.Echo(exe + " is already running");
}
else
{
var shell = new ActiveXObject("WScript.Shell");
shell.run(exec, ExecParam, true);
}

ip-mac.js

var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2");
var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter WHERE AdapterType = 'Ethernet 802.3'", "WQL",
wbemFlagReturnImmediately | wbemFlagForwardOnly);

var enumItems = new Enumerator(colItems);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
var objItem = enumItems.item();
var AdapterInfo = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index = " + objItem.Index, "WQL",
wbemFlagReturnImmediately | wbemFlagForwardOnly);

var enumAdapterItems = new Enumerator(AdapterInfo);
for (; !enumAdapterItems.atEnd(); enumAdapterItems.moveNext()) {
var Adapter = enumAdapterItems.item();
var IP;

try { IP = (Adapter.IPAddress.toArray()).join(", "); }
catch(e) { IP = "null"; }
}

if (IP != "null")
WScript.Echo(objItem.Name + '\n\nIP: ' + IP + '\nMAC: ' + objItem.MACAddress);
}

Highlighted using highlight.js

jscript, work, javascript

Previous post Next post
Up