Je travaille toujours sur un compte non-administrateur sur mon ordinateur Windows. Parfois, j'ai besoin d'installer des programmes nécessitant un accès administrateur. Comme j'utilise principalement l'invite de commande Windows, existe-t-il une commande Windows pour élever les privilèges, similaire à la commande de terminal Linux sudo
?
windows
command-line
privileges
ukanth
la source
la source
doskey sudo= runas /user:Administrator "cmd /k cd \"%cd%\" & $*"
wsudo
, unsudo
outil semblable à Windows disponible sous forme de package Chocolatey.Réponses:
La commande runas .
Il suffit de courir:
démarrer un shell de commande en tant qu'administrateur
la source
/noprofile
.Runas
exécute simplement des commandes sous un autre ensemble d'informations d'identification. Même si vos informations d'identification disposent d'autorisations d'administrateur, cela ne signifie pas que tous les processus sous vos informations d'identification s'exécutent en tant qu'administrateur.J'ai découvert elevate aujourd'hui, qui "exécute une commande avec une élévation de privilèges UAC. Cela est utile pour travailler à l'intérieur d'invites de commande ou avec des fichiers de commandes." Ce n'est pas la même chose
sudo
, cela change l'utilisateur exécutant en administrateur, mais sa syntaxe est beaucoup plus simple à utiliser querunas
, et il peut conserver le répertoire actuel, permettant ainsi l'utilisation de chemins relatifs.Elevate ne vise pas à contourner ou contourner le contrôle de compte d'utilisateur (UAC), mais à l'utiliser. Tant que le contrôle de compte d'utilisateur est activé, il doit y avoir une sorte d'invite à un moment donné du processus. Si vous devez vous débarrasser complètement des invites, vous devez désactiver UAC .
Le problème de soulagement soulage est l'escalade d'un processus particulier à partir d'un shell non privilégié, puis se poursuit normalement. Sans cela, vous devez démarrer une invite de commande privilégiée avec un clic droit> "Exécuter en tant qu'administrateur" , qui ne peut pas être scriptée facilement, avant de tenter la commande privilégiée.
la source
%wheel ALL=(ALL) NOPASSWD: ALL
dans sudo.@elevate %*
=> profit!Vous pouvez utiliser la commande runas qui est un peu similaire, ou vous pouvez vérifier le projet sudo pour Windows sur SourceForge qui ajoute une commande sudo.
La différence est subtile:
Disons que vous avez deux utilisateurs. Bob est un utilisateur normal et James est un administrateur.
Si vous vous connectez en tant que Bob et que vous utilisez "runas james acommand", la commande est exécutée comme si elle était exécutée par James. Elle accède ainsi aux paramètres utilisateur de James et toutes les modifications apportées aux utilisateurs sont placées dans les dossiers James Mes Documents & Settings, etc. installez une application, par exemple, elle sera installée en tant que James, pas en tant que Bob.
Par contre, si Bob "commande sudo", la commande est toujours exécutée en tant que Bob, mais avec des autorisations élevées - tout comme la commande Linux sudo. Pour empêcher tout utilisateur de pouvoir exécuter sudo, vous devez définir un groupe d'utilisateurs sudoers contenant la liste des utilisateurs normaux autorisés à élever à l'aide de sudo. Les utilisateurs doivent toujours fournir leurs informations d'identification avant l'élévation.
Parfois, la différence n'est pas importante, parfois, et je trouve que les deux commandes peuvent être utiles.
la source
~/.themes
l'application, l'application sudo-ed ne pourra pas accéder à ce thème, car il n'y est pas/home/root/.themes
, et utilisera le thème par défaut de gtk.Vous pouvez également utiliser les scripts PowerToys d'élévation .
la source
Si vous êtes prêt à passer à d'autres consoles, il y a ConEmu (je suis l'auteur). L'une de ses fonctionnalités - la possibilité d'exécuter des onglets surélevés et non surélevés dans la même fenêtre ConEmu. Les onglets peuvent également être démarrés avec différentes informations d'identification.
Pour le confort de l'utilisateur, csudo.cmd (qui peut être facilement adopté pour bash) est un fichier de commandes . Lisez la description complète dans le wiki du projet . En bref, lorsque vous exécutez une commande à partir d'un onglet non élevé existant, par exemple
ConEmu démarre
dism
dans la nouvelle console / onglet élevé (avec la précédente invite UAC sous Vista ou la zone de connexion sous XP).Par défaut, la
csudo
nouvelle console démarre dans un groupe (il peut être modifié en modifiant lecsudo.cmd
contenu).Et bien sûr, vous pouvez le renommer
sudo.cmd
si vous aimez lesudo
mot "classique" .la source
press enter or esc to exit
message.sudo
commande est exécutée! Vous allez mal.Méthode rapide:
Trois étapes pour ajouter sudo.
Ouvrez PowerShell.
Copiez le script suivant (Ctrl + C) et collez-le dans PowerShell (Alt + Espace + E + P):
Cela activera en permanence les
sudo
commandes dans PowerShell.Usage:
Exemples:
Méthode longue d'apprentissage:
Remarque: j'ai mélangé le script des deux articles pour créer le script susmentionné. Plutôt que de coller manuellement le script dans le bloc-notes, j'ai ajouté les
Out-File
instructions à enregistrerps1
et les$profile
fichiers du script.Conseil: si vous n’êtes pas très fan des popups UAC (comme moi), enregistrez le fichier suivant dans le fichier * .reg et exécutez-le:
la source
. : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system.
set-executionpolicy remotesigned
. D'autres optionsremotesigned
sont décrites dans la documentation officielle .powershell -c start -verb runas program.exe
fonctionnalité. Notez également que vous ne pouvez pas élever ce niveau avec l'invite cmd (en mode natif). Powershell est la meilleure option native.Si vous le faites sous Windows, outre la commande Exécuter en tant que mentionné dans quelques réponses, il existe également des moyens de le faire avec la souris.
Si vous maintenez la Shifttouche enfoncée lorsque vous cliquez avec le bouton droit sur la plupart des fichiers exécutables dans Windows, vous devriez remarquer quelques options plus avancées. L'un d'eux est l'
Run As...
option " " (je pense que cela s'appelle "Run As Administrator
" à partir de Vista).Vous pouvez également télécharger une version plus avancée de RunAs de Microsoft, appelée ShellRunAs . Cette version présente des améliorations par rapport à la commande RunAs intégrée, à la fois en mode de commande et en mode graphique, permettant notamment de sauvegarder les informations d'identification du compte.
la source
Il existe un paquet chocolaté avec le nom pratique sudo . Vous pouvez installer le paquet avec chocolatey en utilisant cette commande:
Ensuite, quel que soit le shell Windows / MS que vous utilisiez, vous pouvez l'utiliser
sudo
comme prévu.la source
Surun est une application gratuite à code source ouvert qui permet à certains programmes de s'exécuter avec des droits d'administrateur, sans fournir de mot de passe, sans modifier le registre des utilisateurs ou modifier les variables d'environnement.
Lorsque j'utilisais Windows XP, cette application m'aide beaucoup. La bêta fonctionne sous Windows 7.
la source
Comme vous l'avez probablement découvert, les runas vous permettent de vous lancer en tant qu'utilisateur différent, mais ils ne peuvent pas faire d'altitude et ne passent pas les répertoires actuels, les variables d'environnement ou les longues lignes de commande.
Hamilton C shell résout ce problème avec un véritable su et sudo. su vous permet d'exécuter une commande en tant qu'utilisateur différent; sudo (en fait un alias à su) vous permet d'exécuter une commande élevée. Vous pouvez également faire les deux, en exécutant en tant qu'utilisateur différent. Les répertoires actuels, les variables d’environnement et les longues lignes de commande sont passés au moyen d’une négociation en mémoire partagée entre l’application su exécutée dans le contexte de l’appelant et une copie de lui-même exécutée comme interlude avec les nouvelles informations d’identification qui démarrent ensuite l’enfant. Divulgation complète: je suis l'auteur.
la source
Pour
sudo
remplacer lemintty
terminal de Cygwin, le script suivant devrait être placé dans le chemin PATH de l'utilisateur:Pour moi, c’est le seul remplacement viable pour élever les privilèges de programmes tels que
vim
oucygrunsrv
tout en travaillant dans un terminal sous Windows.la source
Ce script fait le travail:
Enregistrez-le sous
sudo.cmd
puis ajoutez-le à votre PATHNote: le
runas
moyen dans ce contexte "Exécuter en tant qu'administrateur" et non "Exécuter en tant qu'autre utilisateur"Tiré d'ici et légèrement modifié pour supprimer l'en-tête cscript.exe de la sortie
la source
La solution la plus simple, à mon avis, consiste à utiliser powershell pour effectuer le travail, qui est portable et qui incitera l'utilisateur à utiliser le contrôle de compte d'utilisateur.
Vous pouvez simplement l'exécuter dans n'importe quel shell (cmd ou powershell)
la source
Le script vbs suivant fait le tour pour moi. Je le mets
C:\Windows\System32
Exemple d'utilisation sur une invite de commande
sudo net start service
la source