Je souhaite récupérer le nombre de processeurs s'exécutant sur un serveur distant depuis mon serveur. Pour ce faire, je vérifie les informations en utilisant cette ligne de commande:L'accès à PSEXEC est refusé lors de l'utilisation de PHP
C:\Users\Administrator>psexec -accepteula \\remote_computer_name -u remote_computer_name\admin -p my_password cmd /C "set number_of_processors"
Et il me renvoie le résultat que je voulais:
Mais quand je suis en train de retrive le même résultat en l'utilisant dans un script PHP, il est dit que l'accès est refusé.
PsExec v1.98 - Exécuter les processus à distance Copyright (C) 2001-2010 Mark Russinovich Sysinternals - www.sysinternals.com
L'accès est refusé.
Connexion à nom_ordinateur_distant ... À partir PsExec service nom_ordinateur_distant ... Impossible de démarrer le service PsExec sur nom_ordinateur_distant: Connexion à nom_ordinateur_distant ... Démarrage du service PsExec sur nom_ordinateur_distant ...
ici est mon script 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>";
}
?>
J'utilise le même script sur une autre paire de serveurs, et cela fonctionne très bien. Qu'est-ce que j'ai raté ?