FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » commande DOS en php pour MBSA
 

commande DOS en php pour MBSA

Il y a 281 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : commande DOS en php pour MBSA
 
Plus d'informations

Bonjour à tous, je pense poster ma question dans la bonne partie mais si je me suis trompé je présente toutes mes excuses.
 
Je développe actuellement un application dont une fonctionnalité est de lancer un test Microsoft Baseline Security Analyser sur une machine voulue (en réseau).  
 
Pour cela j'exécute un script .bat que voici :  
 

Code :
  1. "C:\Program Files\Microsoft Baseline Security Analyzer 2"\mbsacli.exe /target 172.31.30.103 /n SQL+IIS /o 172.31.30.103


 
Je donne donc le chemin de l'exécutable MBSA auquel je donne les paramètres que je désire. Quand je l'exécute en ligne de commande, tout marche parfaitement. Mais quand je l'exécute en php, j'ai un problème :
 
le script s'execute bien mais le résultat final est différent. Normalement à la fin un fichier est créé dans un dossier prédéfini. En ligne de commande le fichier se crée, mais en php rien du tout.  
 
voici mon code php :
 

Code :
  1. system("mbsa.bat" );


 
j'ai aussi testé avec un [B]exec [/B]mais c'est pareil.
L'affichage du traitement mbsa s'inscrit normalement et il n'y a aucun affichage d'erreur, simplement le fichier n'est pas créé.
 
Si quelqu'un a une idée je suis preneur, c'est pour mon stage qui se termine bientôt. Merci :)

pourquoi faire cent fois la même chose ?
Plus d'informations

problème de droit ?
que retourne system ?

Plus d'informations

Les droits sur les dossiers sont parfaitement configurés, sinon j'ai aussi testé sur une autre machine et je rencontre le même problème.
Voici le retour system :
 

Code :
  1. D:\xampp\xampp\htdocs\gipi\mbsa>"C:\Program Files\Microsoft Baseline Security Analyzer 2"\mbsacli.exe /target 172.31.30.103 /n SQL+IIS /o 172.31.30.103
  2. [#0038c6][...]Ici je passe les détails du rapport MBSA[...][/#0038c6]
  3. D:\xampp\xampp\htdocs\gipi\mbsa>move "C:\Documents and Settings\user\SecurityScans"\172.31.30.103.mbsa "D:\xampp\xampp\htdocs\gipi\mbsa"\172.31.30.103.xml


Le move final ne fonctionne pas puisque le fichier n'est pas créé dans le répertoire SecurityScans à la fin du traitement MBSA.
Une idée ?


Message édité par enath le 08-06-2007 à 11:34:00
pourquoi faire cent fois la même chose ?
Plus d'informations

dans ce cas la je pense à un problème avec l'exécutable.
 
iciils disent que ces commandes doivent être exécutées avec comme répertoire courant le répertoire d'installation.
essaye dans ton .bat un

Code :
  1. cd "C:\Program Files\Microsoft Baseline Security Analyzer 2"

avant le lancement.
essaye aussi de voir si la commande start aide ...

Plus d'informations

j'y ai pensé également, mais ça ne donne rien, j'ai même essayé avec plein de cd à la suite histoire d'être sûr d'être dans le bon répertoire mais ça n'a rien arrangé.
La commande start n'apporte aucun changement :(
Merci quand même de t'intéresser à mon problème...

zeb
Profil : Modérateur libre
Plus d'informations

Je lis "C:\Documents and Settings\user\SecurityScans" dans le rapport.
C'est le dossier de l'utilisateur "user". Mais le script que tu lances, il est exécuté par le serveur PHP, qui s'exécute sans doute sous un login différent. Il faut sans doute aller chercher ton fichier dans le dossier "SecurityScans" de l'utilisateur "PHP" (moi, je me comprends :D )
 
Dans MBSA.BAT, essaie ça :

Code :
  1. @ECHO OFF
  2. ECHO Test pour MBSA
  3. ECHO Utilisateur: %USERNAME%
  4. CD "C:\Program Files\Microsoft Baseline Security Analyzer 2"
  5. mbsacli.exe /target 172.31.30.103 /n SQL+IIS /o 172.31.30.103
  6. DIR "C:\Documents and Settings\%USERNAME%\SecurityScans"
  7. PAUSE


 
(Désolé, Batchy, je mets des majuscules partout quand j'écris en batch, (trop) vieille habitude)


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

bonne idée zeb , je suis en train de tester.
le mot 'user' je l'ai mis dans l'exemple de code sur le forum pour ne pas mettre mon vrai nom, mais le principe reste le même.
je vous tiens au courant

zeb
Profil : Modérateur libre
Plus d'informations

Oui, je m'en doutais. Et c'est bien normal.
Regarde ligne 6, je ne présume de rien, je laisse le système se débroullier ;)


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » commande DOS en php pour MBSA
 

Annonces Google
Publicité
Les ressources relatives