我想从我的服务器检索远程服务器中运行的处理器数量。 为此,我使用以下命令行检查信息:
C:\Users\Administrator>psexec -accepteula \\remote_computer_name -u remote_computer_name\admin -p my_password cmd /C "set number_of_processors"
它返回了我想要的结果:
但是,当我尝试在PHP脚本中使用它来检索相同的结果时,它表示访问被拒绝。
PsExec v1.98 - 远程执行进程版权所有(C)2001-2010 Mark Russinovich Sysinternals - www.sysinternals.com
访问被拒绝。
连接到remote_computer_name ...启动PsExec remote_computer_name上的服务...无法启动PsExec服务 remote_computer_name:连接到remote_computer_name ...启动PsExec remote_computer_name上的服务...
这是我的PHP脚本:
<?php
function executeCmd($cmd,$params,$return)
{
//$resTable = array();
$resInt = -1;
exec("$cmd $params",$resTable,$resInt);
//$resTable=shell_exec($cmd $params);
//print_r($resTable);
if($return == 40)// return associative table
return $resTable;
if($return == 41)// return int
return $resInt;
}
$cmd = "psexec";
$params = " -accepteula \\\\remote_computer_name -u remote_computer_name\\admin -p password cmd /C \"set number_of_processors\" 2>&1";
//$res = system($cmd,$params,40);
$res = executeCmd($cmd,$params,40);
for($i=0;$i<count($res);$i++)
{
print_r($res[$i]);
echo "</br>";
}
?>
我在另一对服务器上使用相同的脚本,它运行得非常好。我错过了什么?
答案 0 :(得分:0)
-h如果目标系统是Vista或更高版本,请执行此过程 使用帐户的提升令牌(如果有)运行。