リモート IP またはホスト名を入力し、RAM サイズや HD サイズなどの基本情報を取得できるフォームを持つ php ページを作成しようとしています。
フォーム データを処理するコード:
$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 を実行できませんか?