Exécuter en tant qu'utilisateur différent sans mot de passe à partir d'une invite élevée dans Windows


13

Il y a plusieurs utilitaires pour exécuter en tant qu'utilisateur différent (par exemple: runas, cpau, psexec) mais tous exigent le mot de passe pour l'utilisateur respectif, même si vous êtes déjà en cours d' exécution avec des privilèges élevés.

J'aimerais atteindre les objectifs suivants:

  1. J'ai déjà une invite élevée ( Administrator)
  2. Je voudrais exécuter une commande (par exemple: calc.exe) que johnsans taper / passer leur mot de passe pour l'utilitaire de lancement.

Par exemple, dans le système Unix, vous pouvez simplement:

root@server:~# su - john

Réponses:


3

Je l'utilise tout le temps. Il faut saisir un identifiant la première fois qu'il est utilisé (et lorsque le mot de passe change), mais c'est tout.

runas /user:yourusernamehere /savecred "Your Executable Here"

Si vous enregistrez cette commande dans le cadre d'un fichier bat, vous pouvez créer un raccourci qui le lancera avec des droits administratifs en utilisant une cible comme la suivante.

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"

3
Merci pour l'astuce, mais malheureusement / savecred n'est pas applicable dans mon cas car 1) les informations d'identification de l'utilisateur peuvent changer ET 2) les commandes à exécuter sont générées dynamiquement (donc je devrais taper le mot de passe pour chaque commande). En outre, cela doit s'exécuter en arrière-plan, sans aucune interaction de l'utilisateur.
Razvan

@Razvan, vous pouvez envelopper vos commandes dans un fichier de script, tant que le nom est le même, vos commandes peuvent changer facilement. Quant à la modification des informations d'identification ... vous devez soit passer de nouvelles informations d'identification soit une copie en cache. Il n'y a pas de troisième option.
Tim Brigham

3

Non, pas possible sous Windows. Vous devez toujours saisir un mot de passe au moins une fois lorsque vous exécutez des applications sous un autre compte d'utilisateur. Même en tant qu'administrateur.

Empêche les choses drôles de se produire et permet un audit propre. Si quelque chose se produit sous un compte d'utilisateur, les utilisateurs ne peuvent pas blâmer les administrateurs de le faire sans leur consentement.


Mais s'agit-il d'une limitation technique? Je pourrais penser que certains fichiers utilisateur pertinents requis pour établir une nouvelle session sont cryptés à l'aide des informations d'identification de l'utilisateur, c'est pourquoi il serait impossible d'obtenir une nouvelle session sans fournir les informations d'identification respectives (c'est juste une supposition).
Razvan

Je ne comprends pas ton commentaire. Il s'agit d'une limitation technique dans le sens où Microsoft a décidé de planifier Windows de manière à ce que vous ne puissiez pas usurper l'identité d'un compte d'utilisateur sans connaître son mot de passe. Le pourquoi et le comment n'ont pas d'importance. Votre seule option consiste à saisir le mot de passe ou à accepter que vous ne pouvez pas usurper l'identité d'un compte sans lui.
Daniel

1
@Daniel pourriez-vous fournir un lien de référence pour votre affirmation selon laquelle il s'agit d'une décision stratégique délibérée?
ivan_pozdeev

N'y a-t-il pas une ACL pour autoriser cela?
RandomInsano

3

Dans Windows, vous ne pouvez le faire que s'il existe une session d'ouverture de session en cours de l'utilisateur que vous tentez d'emprunter l'identité. Cela est dû à la stratégie de groupe locale «Emprunter l'identité d'un client après l'authentification» permettant aux membres du groupe Administrateurs de faire exactement cela (Trouvé sous Stratégies locales> Attribution des droits utilisateur).

Un outil que je connais qui vous permet de le faire est Process Hacker 2. Exécutez l'outil en tant qu'administrateur local et recherchez un processus qui s'exécute en tant qu'utilisateur que vous souhaitez emprunter. Faites un clic droit dessus, sélectionnez Divers> Exécuter en tant que cet utilisateur ..., puis tapez le chemin binaire que vous souhaitez exécuter en tant que cet utilisateur, par exemple cmd. CMD s'ouvrirait alors en tant qu'utilisateur sans demander son mot de passe.


-3

Si vous placez le fichier .exe dans leur dossier de démarrage, vous pourrez peut-être l'exécuter sous leur nom.


2
élaborer: vous ne l'exécutez pas comme eux ... vous leur demandez de l'exécuter pour vous.
KevinKTI

2
Étant donné que l'utilisateur entrerait son mot de passe lors de sa connexion, cela ne semble pas répondre à la question.
poussins
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.