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

24

Dans l'Explorateur Windows, je peux faire un clic droit sur un fichier exécutable et choisir 'Exécuter en tant qu'administrateur' qui lancera le processus sélectionné avec des privilèges élevés ou je peux faire un clic droit sur le fichier exécutable et cliquer sur 'Exécuter en tant qu'utilisateur différent', spécifier le nom d'utilisateur et mot de passe qui lancera le processus avec des privilèges standard en utilisant le contexte utilisateur spécifié.

Comment exécuter en tant qu'utilisateur différent ET exécuter dans un contexte élevé? Un exemple parfait de cela serait d'ouvrir une invite de commande élevée en utilisant un contexte utilisateur différent de celui de l'utilisateur actuellement connecté.

Art
la source
Je pense que la start-processcommande PowerShell pourrait être en mesure de le faire.
jiggunjer

Réponses:

22

Je ne pense pas qu'une telle option existe.

Pour contourner ce 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 des privilèges d'administrateur en tant qu'autre utilisateur.

runas / netonly / user: YourUser cmd.exe

Yass
la source
7
Ou vous pouvez cliquer avec le bouton droit sur l'exécutable, puis sélectionnez Propriétés> Compatibilité, puis sélectionnez Niveau de privilège et cochez Exécuter ce programme en tant qu'administrateur. Ensuite, déplacez le bouton droit de la souris sur l'exécutable et exécutez-le en tant qu'utilisateur différent.
JamesTheDev
@NewProgrammerJames Nice, merci pour l'entrée :)
Yass
@NewProgrammerJames Cette astuce ne fonctionne pas avec CMD directement sur W2008R2 et supérieur, mais il est possible de modifier une application personnalisée.
Vesper
Cela fonctionnera même si l'utilisateur final n'est pas dans le groupe d'administration?
jiggunjer
@jiggunjer Non, pour autant que je sache.
Yass
11

Oui, psexec le fait absolument.

L'exemple suivant fonctionne correctement sur Windows 8.1; exécutez l'invite de commande 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"
Paul Smith
la source
De Mike : Cela fonctionne pour Windows 10!
fixer1234
7

Vous pouvez le faire via PowerShell:

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

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

Si vous disposez d'une édition non familiale de Windows (Vista à 10), vous pouvez utiliser le Gestionnaire de politiques de sécurité pour qu'il vous invite à donner 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é sous leur nom.

Ouvrez simplement le menu Démarrer et tapez secpol.mscet appuyez sur Entrée pour le lancer (s'il est disponible). Vous êtes à la recherche 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 le "Mode d'approbation administrateur" mais il fait la même chose.

Je pense que c'est une option beaucoup plus naturelle que les autres proposées ici et rappelle plutôt gksudo sur * nix. Mais si votre édition de Windows n'inclut pas secpol.msc, vous devrez faire du piratage du registre pour l'activer.

Cliff Armstrong
la source
J'ai fait ça et ça ne marche pas. Et il demande toujours mon empreinte digitale à la place, même si je ne configure pas mon authentification d'empreinte digitale.
iroel
@iroel Cela semble distinct comme s'il y avait un problème de configuration avec les sous-systèmes d'authentification de Windows. Vous devriez envisager de rechercher SU pour une solution à ce problème et, si vous ne trouvez rien, envisager de le poster comme une question. Tous mes systèmes sont configurés de cette façon et aucun d'entre eux ne demande d'empreinte. Selon le compte que j'authentifie car ils demandent soit un mot de passe, soit un code PIN.
Cliff Armstrong
J'utilise l'empreinte digitale pour l'authentification. Cela arrive. 2 solutions applicables: conférez à l'utilisateur un privilège administratif (mais cela n'a pas de sens dans ce cas), créez un autre utilisateur et définissez l'empreinte digitale (utilisez un doigt qui n'est pas enregistré pour certains utilisateurs) et utilisez ce doigt lorsqu'il est demandé élevé privilège. J'utilise la dernière solution dans ce cas. Au moins ça marche pour moi.
iroel
Si vous êtes invité à fournir une empreinte digitale, soit vous avez configuré l'utilisateur auquel vous essayez de vous connecter pour exiger une empreinte digitale, soit quelque chose ne va pas avec votre installation de Windows. Arrêt complet. J'utilise cette configuration sur trois ordinateurs différents et aucun d'entre eux ne demande d'empreintes digitales. J'ai installé cela sur des dizaines d'ordinateurs pour les clients. Windows demandera un code PIN lors de la connexion à un utilisateur avec un code PIN configuré et un mot de passe pour tous les autres utilisateurs. Il utilise la méthode d'authentification que vous avez configurée pour cet utilisateur.
Cliff Armstrong
0

J'ai constaté que si je me connecte en tant que compte d'identification, vous pouvez définir l'indicateur «exécuter ce programme en tant qu'administrateur» sur la page des propriétés / compatibilité. Ensuite, connectez-vous au compte secondaire et effectuez le changement de clic de la touche comme l'ouvrira en tant qu'administrateur.

Alan Thompson
la source
Cela semblait être une excellente option, mais il n'y avait pas de page de compatibilité dans les propriétés de cmd.exe.
Sandra