Как запустить команду 'sudo' в Windows - PullRequest
68 голосов
/ 11 марта 2012

Как мне запустить следующую команду в Windows:

$ sudo django-admin.py startproject NEW

?

Ответы [ 11 ]

70 голосов
/ 11 марта 2012

В Windows нет команды sudo.Ближайший эквивалент - «Запуск от имени администратора».

Это можно сделать с помощью команды runas с уровнем доверия администратора или щелкнув правой кнопкой мыши программу в пользовательском интерфейсевыбрав «Запуск от имени администратора».

5 голосов
/ 11 марта 2012

Обычно вы этого не сделаете, так как вы не запустите его под * nix независимо.Выполните разработку в пользовательском каталоге, а затем разверните его в системных каталогах.

4 голосов
/ 11 марта 2012

Вы можете использовать команду runas - http://technet.microsoft.com/en-us/library/bb490994.aspx или sudowin - http://sourceforge.net/projects/sudowin/

3 голосов
/ 22 июня 2017
Команда

runas требует от пользователей ввода пароля. Если вы не хотите вводить пароль и хотите просто щелкнуть диалоговое окно UAC, используйте Start-Process -Verb runas в PowerShell вместо команды runas.

см .: http://satob.hatenablog.com/entry/2017/06/17/013217

3 голосов
/ 19 марта 2016

в Windows вы можете использовать команду runas. Для пользователей Linux, есть несколько альтернатив для sudo в Windows, вы можете проверить это

http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/

2 голосов
/ 30 июля 2018

Там вроде есть. Я создал Sudo для Windows еще в 2007 году? 08? Вот бумага безопасности, которую я написал об этом - https://www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726. Я уверен, что http://sudowin.sf.net все еще работает.

2 голосов
/ 02 февраля 2018

Следующий скрипт vbs помогает мне. Я положил его на C:\Windows\System32

Set objArgs = WScript.Arguments
exe = objArgs(0)
args = ""
IF objArgs.Count >= 2 Then
   args = args & objArgs(1)
End If
For it = 2 to objArgs.Count - 1
   args = args & " " & objArgs(it)
Next
Set objShell = CreateObject( "WScript.Shell")
windir=objShell.ExpandEnvironmentStrings("%WINDIR%")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute exe, args, "", "runas", 1
set objShellApp = nothing

Пример использования в командной строке sudo net start service

1 голос
/ 12 апреля 2019

Откройте блокнот и вставьте этот код:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c %*'"
@echo on

Затем сохраните файл как sudo.cmd.Скопируйте этот файл и вставьте его в C:\Windows\System32 или добавьте путь, где sudo.cmd, к переменной среды PATH.

Когда вы открываете командную строку, вы можете запустить что-то вроде sudo start ..

Если вы хотите, чтобы окно терминала оставалось открытым при запуске команды, измените код в блокноте на этот:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k %*'"
@echo on

Объяснение:

powershell -Command запускает команду powershell.

Start-Process - это команда powershell, которая запускает процесс, в данном случае командная строка.

-Verb RunAs запускает команду от имени администратора.

-Argument-List запускает команду с аргументами.

Наши аргументы '/c %*'.%* означает все аргументы, поэтому, если вы ввели sudo foo bar, он запустится в командной строке foo bar, потому что параметры - это foo и bar, а %* возвращает foo bar.

/c - это параметр cmd для закрытия окна после завершения команды, а /k - это параметр cmd для сохранения окна открытым.

1 голос
/ 12 февраля 2019

Я создал wsudo, CLI-инструмент с открытым исходным кодом, похожий на sudo, для запуска программ или команд с повышенными правами.Это доступно как Шоколадная упаковка .Используйте на свой страх и риск.

Установка

choco install wsudo

Chocolatey должна быть уже установлена.

Назначение

wsudoявляется Linux sudo -подобным инструментом для Windows для вызова программы с повышенными правами (от имени администратора) из командной строки без прав администратора, в контексте текущего каталога .Эта реализация не зависит от устаревшего Windows Script Host (CScript).Вместо этого он использует вспомогательный сценарий PowerShell 5.1, который вызывает командлет "Start-Process -Wait -Verb runAs ...".В вашей системе, скорее всего, уже установлен PowerShell 5.x, в противном случае вам будет предложено установить его как зависимость.

Использование

wsudo запускает программу или встроенную команду с повышенными правамиправа в текущем каталоге.Примеры:

wsudo .\myAdminScript.bat 
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts 

Для получения более подробной информации посетите GitHub repro .

1 голос
/ 14 ноября 2017

Для окон нет команды sudo, а также нет необходимости вводить $. Для установки Angular CLI через командную строку node.js в Windows я просто написал npm install -g @ angular / cli и затем нажал Enter. Работало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...