Equivalence de la commande RunAs en PowerShell

juin 29, 2010
Voici un petit post visant à démontrer ce que l’on peut utiliser en PowerShell pour obtenir une équivalence à la commande RunAs en CMD que nous connaissons depuis de nombreuses années.

Pour rappel, la commande RunAs vise a démarrer un nouveau processus sous une identité différente.

runas /user:Domain\administrateur monApplication.exe

En PowerShell, c’est le Cmdlet Start-Process qui est chargé de démarrer de nouveaux processus.

En ce qui concerne le changement d’identité, nous avons 2 possibilités pour Start-Process:

  • Utilisation du paramètre –Credential
start-process monApplication.exe –credential $(get-credential)
start-process monApplication.exe –credential $(get-credential –credential Domain\administrateur)
  • Utilisation du paramètre –Runas
start-process monApplication.exe –Runas Domain\administrateur

Dans les 2 cas, vous obtiendrez une fenêtre vous demandant d’introduire votre mot de passe.

pw-Credential

Update !!!!

Je viens de me rendre compte que j’ai oublié de parler des arguments liés à l’application que l’on veut exécuter dans un autre contexte.

Pour les passer, rien de plus simple, il nous suffit d’utiliser le paramètre -ArgumentList et de lui l’ensemble des arguments désirés.

L’exemple suivant montre comment détourner, sous Windows XP, notre Internet Explorer en lui demandant de se « transformer » en Explorer par le biais de l’argument « C:\ ».

start-process "C:\Program Files\Internet Explorer\iexplore.exe" –Runas Domain\administrateur -Argumentlist "C:\"

Enjoy !!!

It's only fair to share...Share on Facebook

Leave a Reply