2010-05-12 22 views
10

J'ai écrit du code C# qui utilise PSexe. Je veux qu'il exécute un exe distant sur une machine connectée à mon réseau local.Psexec "Exécuter en tant qu'administrateur (distant)"

Cet exe crée un nouvel utilisateur local. Lorsque je lance cet exe localement sur la machine distante (après un clic droit -> "Exécuter en tant qu'administrateur") - cela fonctionne bien. Je ne sais pas comment simuler le clic droit -> "Exécuter en tant qu'administrateur" de Psexec. J'ai essayé le drapeau -l mais ça n'a pas

Répondre

17

Utilisez psexec de

Le commutateur s lui fera courir sous le compte du système qui est le même que l'exécution d'une invite d'administration élevée. juste utilisé pour activer WinRM à distance.

+8

Désolé, c'est tout simplement faux. Le compte SYSTEM est quelque chose de complètement différent de votre compte utilisateur avec tous les jetons de privilèges (y compris les jetons administratifs) activés! Le compte SYSTEM est autorisé à faire * tout * (généralement). Même des choses qu'un administrateur local ne peut pas faire. Il s'agit également d'un profil utilisateur différent, il utilise donc différents paramètres et noms de chemin. – ygoe

19

Il suffit d'ajouter un -h après avoir ajouté vos informations d'identification en utilisant un -u -p, et il fonctionnera avec des privilèges élevés.

+0

psexec ne supporte pas l'argument '-h'. Au moins pas dans la version actuelle de 2009. – ygoe

+2

@LonelyPixel Je suis juste tombé sur cette ... la version que j'ai eu [ici] (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx) a un paramètre '-h':' Si le système cible est Vista ou supérieur, le processus est-il exécuté avec le jeton élevé du compte, si disponible? – tnw

+0

Intéressant. Maintenant, j'ai aussi une version avec "-h" d'eux. Doit être mis à niveau 1.98. Mais cela échoue si je ne l'appelle pas déjà admin. (Impossible de créer un service, accès refusé.) Où est le sens de cela? – ygoe