1

次のコードを使用して、リモート サーバーに 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 では、コードは次のようになりますが、vbs としてではなく、hta アプリケーションで動作する必要があります。

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 アプリケーションに含めました。その関数に対して私が見つけた解決策は、バックスペースをエスケープすることでした。その関数の一部を抜粋すると、次のようになります。

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

だから私はエスケープがこのように役立つかもしれないと思ったが、私はまだエラーが発生しています:

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

1 に答える 1