none
Utilisation d'un Script Power Shell pour faire un "Run AS" d'une commande Netsh.exe RRS feed

  • Question

  • Bonjour,

    Quel est le problème ?

    Voici mon Script :

    $Login = "Adm2012"
    $key = (x,y,z,...)
    $standardstring = gc .\cryptmdp.txt
    $pwdscurestring = ConvertTo-SecureString ($standardstring) -key $key
    
    $credentials = New-Object System.Management.Automation.PSCredential -ArgumentList ($Login,$pwdscurestring)
    $NetshCmd = 'LAN set profileparameter interface="Connexion au réseau local" oneXEnabled=YES oneXEnforced=NO' 
    Start-Process netsh.exe -Credential $credentials -ArgumentList $netshCmd

    Le but étant d'exécuter celui-ci sur un poste de travail avec des droits utilisateur du domaine, non 'Local Administrator'.

    Le problème est le suivant : Si je copie/coller les lignes du script dans une console PS, tout fonctionne et la commande Netsh, posant problème, fonctionne correctement.

    Par contre, si dans cette même fenêtre, j'exécute le script, la commande Netsh (la commande Start-Process...) ne fonctionne pas. Je suis bien en mode Bypass pour l'exécution du  script et je suis en Power Shell v3.0 sur un poste Windows 7 Enterprise SP1 up-to-date.

    De ce que je comprends, la manière d'interpréter les arguments Netsh au sein du script est différente de l'exécution par copié/collé de la commande "Start-Process ... "dans la fenêtre PS.

    Lorsque le script se lance, la fenêtre Netsh se lance bien, mais les arguments sont refusés (La console Netsh qui s'ouvre qu'une demi-seconde, me renvoie l'aide à l'utilisation de Netsh) . Alors que si je copie/colle la ligne "Start-Process Netsh.exe ...etc.", la commande passe correctement... 

    Si quelqu'un a une idée ... je suis preneur !

    MP.


    • Modifié Mitchawkes vendredi 5 septembre 2014 11:33
    vendredi 5 septembre 2014 11:31

Toutes les réponses

  • Salut

    Si quelqu'un a une idée ... je suis preneur !
    vérifie si la construction de la ligne d'arguments se fait correctement, en exécutant ton script après avoir modifié la ligne suivante :

    Start-Process netsh.exe -Credential $credentials -ArgumentList $netshCmd

    en

    "Start-Process netsh.exe -Credential $credentials -ArgumentList $netshCmd"

    Tu as peut-être un problème d'encodage avec le fichier...

    Un code d'erreur est-il renvoyé ?


    Beatus, qui prodest, quibus potest.

    vendredi 5 septembre 2014 12:17
    Modérateur
  • Salut

    Si quelqu'un a une idée ... je suis preneur !
    vérifie si la construction de la ligne d'arguments se fait correctement, en exécutant ton script après avoir modifié la ligne suivante :

    Start-Process netsh.exe -Credential $credentials -ArgumentList $netshCmd

    en

    "Start-Process netsh.exe -Credential $credentials -ArgumentList $netshCmd"

    Tu as peut-être un problème d'encodage avec le fichier...

    Un code d'erreur est-il renvoyé ?


    Beatus, qui prodest, quibus potest.

    Oui on vient de trouver (Merci Hervé et à Power Shell ISE) !

    Je n'étais pas dans le bon encodage (à savoir en UTF8) dans Notepad++ !

    Merci pour votre aide !


    mitchawkes

    vendredi 5 septembre 2014 12:20