Pages

samedi 24 novembre 2012

PsExec sous Windows PE 3



Bonjour !!

Récemment, dans le cadre professionnel, j'ai cherché à exécuter un psexec sous Windows PE 3.
Quelle ne fût pas ma déception quand à la première exécution de ma commande, le message d'erreur suivant apparu :
Couldn't access MyRemoteComputer:
Access is denied.



J'avais pourtant rempli tous les pré-requis nécessaires conformément à la documentation de PsExec 1.98:



  • Le compte utilisateur distant
  • Le mot de passe associé
  • Les paramètres sympathiques tels que:

    • /acceptEula
    • /i 1 pour voir apparaitre mon programme

    -i Run the program so that it interacts with the desktop of the specified session on the remote system. If no session is specified the process runs in the console session.

    Si ça vous intéresse, sur le pc distant en lançant le Task Manager, et en rajoutant la colonne qui va bien ID de session) vous pouvez voir que les applications “visibles” ont un ID de session à 1 (ou plus) et les applications “invisibles’ ont un ID de session à 0. 
     


       
      • /h qui pour le coup n'est pas indiqué sur le site mais bien dans l'aide de l'application

      psExec_cmdline

      • /s au cas ou je n'aurais pas saisi toute la subtilité du soft ...
    Bref, je suis passé par toutes les étapes possibles et imaginables, mais rien, rien, rien.
    En consultant ce forum, je suis tombé sur une information intéressante mais qui ne me concernait pas directement.
    Le compte distant doit O.B.L.I.G.A.T.O.I.R.E.M.E.N.T posséder un mot de passe.
    A bon entendeur....
    Par contre, nray propose une chose qui attire mon attention :
    net use \\otherComputer\ADMIN$ /user:otherComputer\adminUser *

    Outch ! mais c'est bien sur!
    Il me suffit donc dans mon petit script Vbs de créer une connexion distante sur \\MyRemoteComputer\admin$ pour résoudre mon problème.
    Voici les quelques lignes de code qui me permettent de réaliser cette tâche:

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run("%comspec% /C net use \\win7\admin$ /user:win7\MonUserAdmin 
    /password:MonPassword *"), 1, True
    
    objShell.Run("%comspec% /C PsExec.exe \\Win7 /accepteula -u win7\MonUserAdmin 
    -p MonPassword -i 1 c:\windows\system32\notepad.exe"), 1, True

    Psexc_Remote

    Sources:
    http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

    NB. Si vous rencontrez toujours quelques problèmes de connexion avec psexec, je vous suggère de jeter un oeil ici: http://forum.sysinternals.com/psexec-access-is-denied_topic547_page3.html










    1 commentaire:

    Unknown a dit…

    très intéressant. Merci pour prendre du temps à partager votre expérience