尝试编写一个 php 页面,该页面的表单允许您输入远程 IP 或主机名,并检索 RAM 大小和 HD 大小等基本信息。
处理表单数据的代码:
$host = $_POST['host'];
$cmd = "cscript /nologo remotehostinfo.vbs ".$host;
$output = shell_exec($cmd);
echo "<pre>$output</pre>";
这是 remotehostinfo.vbs 代码,该脚本对远程主机执行 WMI 查询。
DIM arg
Set arg = wscript.Arguments
strComputer = arg(0)
On Error Resume Next
wscript.echo "Info"
wscript.echo "------"
'//////// Get Ram Amount
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colCSItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
For Each objCSItem In colCSItems
ram = int(objCSItem.TotalPhysicalMemory/ 1048576)
Next
wscript.echo "RAM Size: " & ram
wscript.quit
当我从 PHP 页面运行脚本时,它不会返回 RAM 大小,但是如果我从命令提示符运行 vb 脚本,它工作得很好,有人知道我做错了什么吗?PHP 不能运行对远程主机进行查询的 vbscript 吗?