2017-02-14 2 views
1

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:

Command Line Result

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é ?

Répondre

0

Enfin trouvé la réponse! J'ajoute seulement les arguments -h à ma ligne de commande.

-h Si le système cible est Vista ou supérieur, a le terme de processus avec jeton élevé du compte, le cas échéant.