J'ai un court fichier .cmd que je voudrais lancer dans le cadre de mon processus de déploiement. Malheureusement, le fichier .cmd nécessite des privilèges d'administrateur. Est-il possible d'obtenir l'autorisation de l'administrateur à partir de rake, ou dois-je démarrer le shell en tant qu'administrateur?Comment exécuter une commande shell dans une tâche rake en tant qu'administrateur?
Répondre
Vous pouvez essayer la commande runas
. Je ne sais pas ce que votre tâche Rake ressemble, mais si vous utilisez Kernel#system
, essayez
task :foo do
system "runas /profile /user:#{ENV["COMPUTERNAME"]}/Administrator mybatchfile.cmd"
end
Le seul problème est, runas
demander les références là dans la coquille. Donc, vous devez être interactif.
> RIR système "runas ..."
Entrez le mot de passe pour FOOBAR/Administrateur:
Il y a this nasty looking batch/WSH answer d'une autre question sur le SO. Je ne sais pas où vous mettez votre commande, cela semble interactif, aussi bien.
Vous pouvez essayer l'applet de commande PowerShell Start-Process
qui prend en charge l'affichage d'une invite UAC.
PS> Start-Process mybatchfile.cmd -Verb runas
Ou, dans Rake
task :foo do
system "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -command \"Start-Process mybatchfile.cmd -Verb runas\""
end
Mais cela lancera également une boîte de dialogue UAC. L'ensemble du processus va devoir être interactif. Vous ne pouvez pas avoir un script de construction interactif. Votre seul choix est de permettre à votre serveur de build de fonctionner avec l'UAC éteint ... alors, vous n'avez rien à faire, parce que toutes vos invites seront Admin par défaut.
- 1. Comment exécuter une tâche Rake "Rake"
- 2. Comment exécuter une tâche d'installation en tant qu'utilisateur dans install4j?
- 3. Exécuter une commande en tant que sudo à partir d'une tâche rake?
- 4. Comment exécuter une tâche Rake en tant que "tâche planifiée" Windows?
- 5. Exécuter une commande shell en tant que root sur android?
- 6. Comment exécuter une commande shell dans Opa?
- 7. Exécuter Rake Tâche sans utiliser Rake
- 8. Comment exécuter une commande shell via Python
- 9. exécuter l'entrée utilisateur en tant que commande shell dans C
- 10. Comment faire rake exécuter une tâche automatiquement sans arguments?
- 11. Comment exécuter une requête MySQL à partir d'une tâche rake?
- 12. comment exécuter une fonction sur chaque tâche d'un espace de noms avec la commande rake
- 13. Comment faire pour exécuter la commande shell dans une nouvelle fenêtre dans ruby / rails?
- 14. Exécuter capybara dans la tâche rake
- 15. Rails comment exécuter la tâche rake
- 16. Comment exécuter une tâche Rake Task après toutes les autres tâches? (c'est-à-dire une tâche Rake AfterBuild)
- 17. Comment créer une tâche d'arrière-plan pour une tâche rake?
- 18. Comment exécuter une commande shell en arrière-plan?
- 19. Comment tester une tâche rake avec RSpec?
- 20. comment exécuter une tâche depuis l'extérieur du shell
- 21. Exécuter une tâche rake à partir de .war
- 22. Comment exécuter une commande shell de manière synchrone dans ruby
- 23. Comment exécuter une commande awk dans un script shell
- 24. Comment exécuter une commande Docker dans Jenkins Build Execute Shell
- 25. unix - exécuter une commande en tant qu'un autre utilisateur
- 26. Exécuter commande Shell dans tideSDK
- 27. Exécuter une commande shell en arrière-plan en utilisant PHP
- 28. Comment utiliser "gets" sur une tâche rake?
- 29. Est-il possible de combiner une tâche rake et une installation bundle en une seule commande?
- 30. Exécuter une chaîne en tant que commande en python
Veuillez également consulter 'http://stackoverflow.com/questions/9796028/execute-bash-commands-from-a-rakefile/14360488#14360488' pour savoir comment exécuter des commandes externes dans rake. – Gizmomogwai