web-dev-qa-db-fra.com

Exécuter en tant qu'utilisateur différent et élever

Dans l'Explorateur Windows, je peux cliquer avec le bouton droit sur un fichier exécutable et choisir "Exécuter en tant qu'administrateur" pour lancer le processus sélectionné avec des privilèges élevés. Je peux également cliquer avec le bouton droit de la souris sur l'exécutable et cliquer sur "Exécuter en tant qu'utilisateur différent". nom d'utilisateur et mot de passe qui lancera le processus avec les privilèges standard en utilisant le contexte utilisateur spécifié.

Comment puis-je m'exécuter sous un utilisateur différent ET s'exécuter dans un contexte élevé? Un exemple parfait serait d'ouvrir une invite de commande élevée en utilisant un contexte d'utilisateur différent de celui de l'utilisateur actuellement connecté.

21
Art

Je ne pense pas qu'une telle option existe.

Pour contourner le problème, vous pouvez démarrer la ligne de commande en tant qu'administrateur et exécuter la commande suivante pour exécuter la ligne de commande avec les privilèges d'administrateur en tant qu'autre utilisateur.

runas/netonly/user: YourUser cmd.exe

20
Yass

Oui, psexec le fait absolument.

L'exemple suivant fonctionne correctement sous Windows 8.1; lancez la commande Invite en tant qu'administrateur, puis:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure Prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
9
Paul Smith

Vous pouvez le faire via PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
7
Darío León

Je remarque que la question est très ancienne, mais les réponses données ne sont pas idéales et ont déjà été réduites à néant. Toutes les réponses existantes nécessitent de taper des commandes archaïques et de connaître le chemin exact de votre exécutable. Une option idéale rendrait cela possible en utilisant le même processus que vous utilisez déjà pour l’augmentation des privilèges.

Si vous possédez une édition de Windows autre que Home (Vista à 10), vous pouvez utiliser le Gestionnaire des stratégies de sécurité pour le faire vous demander d'indiquer votre mot de passe chaque fois que l'élévation se produit. Il vous donne également la possibilité de sélectionner un utilisateur complètement différent et d'entrer son mot de passe ..., ce qui entraînera l'exécution du processus élevé.

Ouvrez simplement le menu Démarrer, tapez secpol.msc et appuyez sur Entrée pour le lancer (s'il est disponible). Vous recherchez Local Policies> Security Options> User Account Control: Behavior of the elevation Prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista a une option similaire qui ne mentionne pas "Mode d'approbation administrateur" mais fait la même chose.

Je pense que c’est une option beaucoup plus naturelle que celle proposée par les autres et qui rappelle plutôt gksudo on * nix. Mais si votre édition de Windows n'inclut pas secpol.msc, vous devrez procéder à un piratage du registre pour l'activer.

1
Cliff Armstrong

J'ai constaté que si je me connecte en tant que compte Exécuter en tant que, vous pouvez définir l'indicateur "Exécuter ce programme en tant qu'administrateur" sur la page de propriétés/compatibilité. Ensuite, connectez-vous sur le compte secondaire et effectuez le décalage en cliquant dessus, puis ouvrez-le en tant qu'administrateur.

0
Alan Thompson