Comment ajouter un mot de passe à un fichier batch pour s'authentifier automatiquement?

13

J'essaie d'exécuter des xcopycommandes dans un fichier de commandes en tant qu'administrateur. S'agit-il de la commande correcte et comment puis-je lui passer le mot de passe?

runas /noprofile /user:Domain Name\user account
Joe
la source

Réponses:

14

Pour vous authentifier automatiquement, ajoutez le /savecreddrapeau. Vous devrez entrer le mot de passe lors de la première exécution du script, mais il sera enregistré après cela.

Sachez que vous runaspourrez ensuite utiliser les informations d'identification enregistrées pour exécuter un programme donné , alors pensez à la façon dont cela pourrait être un problème de sécurité avant de suivre cette voie.

Votre utilisation est correcte cependant, ajoutez simplement le chemin du programme à la fin.

runas /noprofile /user:[email protected] /savecred script.bat
ou
runas /noprofile /user:joe-pc\joe /savecred script.bat

Pour supprimer une information d'identification enregistrée, recherchez le gestionnaire d'informations d'identification dans le Panneau de configuration.

Louis Waweru
la source
4

La runascommande doit vous demander les informations d'identification lorsque vous exécutez le fichier de commandes pour exécuter la commande spécifiée. Tant que vous l'exécutez dans cmd.exe . Cela est dû à la nécessité de l'entrée standard nécessaire pour demander le mot de passe. Vous ne pouvez pas simplement double-cliquer dessus. Stocker un mot de passe en texte brut dans un fichier batch est une mauvaise idée car il n'est pas sécurisé . C'est pourquoi il vous invite à l'exécution.

Vous pouvez cliquer avec le bouton droit sur l'exécutable et cliquer Run as Administrator, sans la runascommande. C'est probablement la solution que vous recherchez.

Si vous souhaitez exécuter la tâche en tant que tâche planifiée, vous pouvez la configurer pour l'exécuter en tant qu'utilisateur différent.

BrenanK
la source
Je comprends que le stockage du mot de passe dans le txt ordinaire ne serait pas sécurisé, mais existe-t-il un moyen pour qu'il s'authentifie automatiquement?
joe
La meilleure façon consiste à cliquer avec le bouton droit sur l'exécutable & Run as Administratorou à définir la tâche pour qu'elle s'exécute en tant qu'utilisateur tel que la tâche planifiée. Toute autre option qui authentifie comme un administrateur ouvriraient des principaux risques de sécurité. Il semble que Windows n'ait pas cette capacité. Si vous souhaitez plus d'informations sur le sujet, voir setuid pour windows . setuidest utilisé dans les environnements Unix pour permettre à un non-administrateur d'exécuter un programme en tant que root (admin). Un programme qui utilise setuiddoit être très soigneusement codé pour ne pas créer de vulnérabilités.
BrenanK
Juste pour être clair, il setuidpeut être configuré pour assumer les privilèges des autres utilisateurs ainsi que root sur un système Unix.
BrenanK
1

Vous pouvez utiliser RunAs lorsque vous appelez le fichier batch (cliquez avec le bouton droit sur le fichier batch et cliquez sur runas) pour exécuter le batch en tant qu'administrateur. Je soupçonne que les runas ne fonctionneront pas dans le lot. Je recommande de ne PAS mettre le mot de passe dans le fichier de commandes, même si cela a fonctionné, les fichiers de commandes sont en texte brut, vous pouvez donc aussi bien mettre le mot de passe sur une note post-it sur le moniteur.

BillN
la source