Je suis un administrateur d'entreprise (ingénieur réseau principal), mais mon équipe ne gère pas Active Directory, donc je ne connais pas bien les politiques et ce qui est nécessaire pour faire ce que j'essaie d'accomplir, et même les administrateurs AD me font défaut quand il s'agit de ma situation.

J'ai une commande que j'essaie de transformer en un script qui me donne un comportement vraiment étrange, et j'ai besoin d'aide pour la trier.

Tout d'abord:

  • À partir de mon poste de travail local, je peux ouvrir une fenêtre de commande en cliquant sur Maj et en l'exécutant en tant qu'utilisateur administrateur de domaine, et la commande fonctionne très bien.
  • Depuis mon poste de travail local, si je mets cette commande dans un script et que j'exécute le script en appuyant sur la touche Maj pour exécuter le script en tant qu'utilisateur administrateur de domaine, le script/la commande fonctionne correctement (tant que j'accorde les autorisations de compte administrateur de domaine).
  • Sur la machine cible sur laquelle je souhaite exécuter ce script, j'ai confirmé qu'un autre administrateur de domaine peut exécuter avec succès la commande.
  • Si je lance une invite de commande sur cette machine cible lorsque je suis connecté avec mon compte administrateur de domaine, la commande échoue (et également en tant que script).

Avant de suggérer quelque chose que j'ai déjà essayé ou qui ne me sera pas bénéfique :

  • runas n'est pas une option, car ce script ne doit pas être interactif et demander un mot de passe.
  • Le /savecredparamètre pour run asn'est pas une option en raison des politiques de mot de passe/sécurité/audit.

J'ai atteint la fonctionnalité de base, mais c'est compliqué :

La commande de base ressemble à ceci :

\\server\share\unlock.exe . username

La seule façon de réussir à exécuter cette commande sans aucun Shift-clic ou runasabsurdité est de mettre cette commande dans C:\Users\Username\Desktop\unlock.bat, puis à partir de ma machine locale en créant un fichier batch séparé qui comprend les éléments suivants :

psexec \\targetmachine -u domainadmin -p domainpassword "C:\Users\Username\Desktop\unlock.bat"

Questions et théories possibles :

  • Si je double-clique sur ce fichier batch sur la machine cible, ne doit-il pas s'exécuter en tant que nom d'utilisateur du compte administrateur de domaine auquel je suis connecté ?
  • Est-il possible que, étant donné que mon administrateur de domaine est un administrateur sur la machine cible, lorsque j'exécute cette commande, il essaie de s'exécuter en tant qu'administrateur local ?
  • Chaque fois que j'ouvre une invite de commande sur cette machine, il s'agit automatiquement d'une invite administrative. Est-il possible que j'ai besoin d'une invite non élevée, et si oui, comment en obtenir une lorsqu'elle lance automatiquement une invite administrateur ?

Autres détails :

  • Il s'agit d'un serveur de terminaux exécutant Windows 2008 R2 avec quelques utilisateurs différents qui y accèdent, je ne souhaite donc pas modifier le comportement de lancement de cmd.exe à chaque fois ou quoi que ce soit.
  • Je me rends compte que je pourrais spécifier un utilisateur si je l'exécute en tant que tâche planifiée, mais pour le moment, je veux simplement l'exécuter à partir de ce serveur en tant que script ou commande autonome sans aucun clic sur Maj.

Mon objectif principal est de pouvoir me connecter à ce serveur et de double-cliquer simplement sur le fichier de commandes (et également de pouvoir l'exécuter à partir d'une invite de commande), tout en étant connecté en tant que compte administrateur de mon domaine, ce qui devrait pouvoir le faire.

answer

Je savais que tout cela était trop étrange pour être vrai.

  • Je viens de me connecter normalement au serveur Terminal Server à l'aide de mon compte d'administrateur de domaine.
  • j'ai double-cliqué sur le script
  • Cela a fonctionné sans problème.

Cela ne répond pas à la question des problèmes que j'avais hier et des problèmes que je voyais, cependant, j'ai atteint mon objectif principal de double-cliquer sur le script normalement et de le faire s'exécuter comme prévu avec les résultats escomptés.

Je n'ai fait aucun changement entre hier et aujourd'hui.

Je suppose que c'était "juste une de ces choses..."