javascript - 在 hda 应用程序中获取远程服务器正常运行时间

标签 javascript jquery vbscript hta

我可以使用以下代码 ping 远程服务器:

function ping(server) {
 var objPing = GetObject("winmgmts:").Get("Win32_PingStatus.Address='" + server + "'");
  $("#myInfo").html("<div><b>" + server + ":</b></div> \
                     <div>IP: " + objPing.ProtocolAddress + "</div> \
                 <div>Time to resolve: " + objPing.ResponseTime + "ms</div>");
    } 

我还试图通过添加以下内容来获得远程服务器的正常运行时间: var objWMIService = GetObject("winmgmts:\"+ server + "\root\cimv2")

一旦我开始工作,我将能够查询服务器并获得正常运行时间。在 vbs 中,代码如下所示,但我需要它在我的 hta 应用程序中工作,而不是在 vbs 中工作:

Set objWMIService = GetObject("winmgmts:\\" & server & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * From Win32_PerfFormattedData_PerfOS_System")

For Each objOS in colOperatingSystems
intSystemUptime = Int(objOS.SystemUpTime / 60 / 60)
Wscript.Echo intSystemUptime & " hours"
Next

除此之外,我还在我的 hta 应用程序中包含了脚本,可在单击时启动 putty。我发现该功能的解决方案是转义退格键。该函数的片段如下所示:

WshShell.Run('"C:/\Program Files (x86)/\Putty/\putty.exe" -ssh ' + server);

所以我认为转义可能会有所帮助,但我仍然遇到错误:

var objWMIService = GetObject("winmgmts:/\/\" + server + "/\root/\cimv2")

最佳答案

一些快速谷歌搜索出现了 this page根据它,这样的事情应该起作用:

var server = "."

var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var svc = locator.ConnectServer(server, "/root/cimv2");
svc.Security_.AuthenticationLevel = 0;
svc.Security_.ImpersonationLevel = 3;

var qry = "SELECT SystemUptime FROM Win32_PerfFormattedData_PerfOS_System";
var data = new Enumerator(svc.ExecQuery(qry));
for (;!data.atEnd();data.moveNext()) {
  var counters = new Enumerator(data.item().Properties_);
  for (;!counters.atEnd();counters.moveNext()) {
    WScript.Echo(counters.item().Value);
  }
}

关于javascript - 在 hda 应用程序中获取远程服务器正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887805/

相关文章:

javascript - 裁剪元素内的文本

javascript - 如何在javascript中的回调中获取变量

jquery - 使用带有文本导航的 jQuery FlexSlider 插件?

regex - 使用正则表达式替换 TextArea 中的文本会创建新行

sql - 由于驱动程序,VBSCRIPT 与 Oracle 的连接失败

VBScript MSXML2.XMLHTTP.responsetext 再次调用时未更新

javascript - 未正确触发 React 事件

javascript - 在 JavaScript 中使用 math.min 查找 3 个数字中最小的一个。做作业却无法得到这个。这就是我到目前为止所拥有的

javascript - Ajax多次提交表单

jquery - 单击链接时更改父李 ID