Як запустити таку команду у вікнах:
$ sudo django-admin.py startproject NEW
?
Як запустити таку команду у вікнах:
$ sudo django-admin.py startproject NEW
?
Відповіді:
У sudoWindows немає команди. Найближчим еквівалентом є "запуск від імені адміністратора".
Ви можете зробити це, скориставшись runasкомандою на рівні довіри адміністратора, або клацнувши програму правою кнопкою миші в інтерфейсі та вибравши "запустити від імені адміністратора".
gsudo( stackoverflow.com/a/58753166/97471 ). Це Sudo для Windows з *nix sudoкористувацьким досвідом: Дозволяє виконувати команду в поточній консолі та кеш облікових даних (лише одне спливаюче вікно UAC).
Відкрийте блокнот і вставте цей код:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
@echo on
Потім збережіть файл як sudo.cmd. Скопіюйте цей файл і вставте його C:\Windows\System32або додайте шлях sudo.cmdдо вашої змінної середовища PATH.
Коли ви відкриваєте командний рядок, ви можете запустити щось на зразок sudo start ..
Якщо ви хочете, щоб під час запуску команди вікно командного рядка адміністратора залишалося відкритим, змініть код у блокноті на такий:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
@echo on
Пояснення:
powershell -Command запускає команду PowerShell.
Start-Process - це команда PowerShell, яка запускає процес, у цьому випадку - командний рядок.
-Verb RunAs запускає команду як адміністратор.
-Argument-List запускає команду з аргументами.
Наші аргументи такі '/c cd /d %CD% && %*'. %*означає всі аргументи, тому, якщо ви це зробили sudo foo bar, він буде виконуватися в командному рядку, foo barоскільки параметри foo і bar, і %*повертається foo bar. cd /d %CD%це команда для переходу до поточного каталогу. Це забезпечить, що коли ви відкриваєте підняте вікно, каталог буде таким самим, як і звичайне вікно. що &&означає , що якщо перша команда успішно, запустити другу команду.
Параметр /ccmd є для закриття вікна після завершення команди, а /kпараметр cmd - для збереження вікна відкритим.
Кредит Адам Plocher для перебування в поточному коді каталогу.
C:\Windows\System32.
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
echoрядки перший і третій, @додавшись до лінії PowerShell?
Усі відповіді пояснюють, як підвищити свою команду на новому хості консолі.
Мене потішило те, що жоден з цих інструментів не поводиться так *nix sudo, що дозволяє виконувати команду всередині поточної консолі.
Отже, я писав: gsudo
Вихідний код https://github.com/gerardog/gsudo
Через совок
scoop install gsudo
Або через Chocolatey
choco install gsudo
Встановлення вручну:

Я створив схожий wsudoна відкритий код sudoінструмент CLI для Windows для запуску програм або команд з підвищеним правом у контексті поточного каталогу . Він доступний у формі шоколадної упаковки .
Я багато використовую його для таких речей, як налаштування агентів збірки, адмін, наприклад sfc /scannow, dism /online /cleanup-image /restorehealthабо просто для встановлення / оновлення локальних пакетів Chocolatey. Використовуйте на власний ризик.
choco install wsudo
Шоколадний повинен бути вже встановлений.
wsudoє sudoподібним до Linux інструментом для 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 .
wasudoщо полегшив вам. Я сам переважно живу в інтегрованому консольному терміналі VSCode, тому просто вводжу wasudoтуди :) Наступним покращенням буде успадкування змін середовища .
runasкоманда вимагає від користувачів набору пароля. Якщо ви не хочете вводити пароль і просто натисніть діалогове вікно UAC, використовуйте Start-Process -Verb runasв PowerShell замість runasкоманди.
Зазвичай ви цього не робите, оскільки ви б не запускали його під * nix незалежно. Виконуйте розробку в каталозі користувача та розгортайте згодом до системних каталогів.
у Windows ви можете використовувати команду runas. Для користувачів Linux існує кілька альтернатив sudo у Windows, ви можете перевірити це
http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/
Ви можете використовувати команду runas - http://technet.microsoft.com/en-us/library/bb490994.aspx або sudowin - http://sourceforge.net/projects/sudowin/
Є такий вид. Я створив Sudo для Windows ще в 2007 році? 08? Ось документ про безпеку, який я про це писав - https://www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726 . Впевнений, http://sudowin.sf.net теж все ще працює.
Наступний скрипт vbs дозволяє запускати задану команду з аргументами з піднесенням і імітує поведінку оригінальної команди unix sudo для обмеженого набору використаних випадків (він не кешує облікові дані та не дозволяє по-справжньому виконувати команди з різними обліковими даними). Я одягнув його 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.Встановіть совок, використовуючи PowerShell 3 (iex (new-object net.webclient) .downloadstring (' https://get.scoop.sh ')) 2. виконайте scoop install --global sudo 3. переконайтеся, що шляхи (C: \ Users \\ scoop \ shims & C: \ ProgramData \ scoop \ shims) додано до змінної шляху навколишнього середовища.
У Windows немає команди sudo, а також немає необхідності вводити $. Для встановлення Angular CLI через командний рядок node.js у Windows я просто написав npm install -g @ angular / cli, а потім натиснув Enter. Це спрацювало нормально.
У Windows Powershell ви можете використовувати команду Start-Process з можливістю -Verb RunAsзапуску та підвищення рівня. Ось мій приклад функції sudo:
function sudo {
Start-Process @args -verb runas
}
Приклад: Відкрити файл хостів як адміністратор у блокноті
sudo notepad C:\Windows\System32\drivers\etc\hosts
Я радий вам допомогти.
Щоб зробити команду sudo, виконайте кроки: -
Сподіваюся, це допоможе вам
Щоб просто запустити команду в якості адміністратора в не піднятій Powershell, ви можете використовувати Start-Processбезпосередньо, зокрема, з правильними параметрами -Verb runas.
Це набагато складніше sudo, особливо тому, що ви не можете просто повторно використовувати попередню команду з додатковою опцією. Вам потрібно вказати аргументи для вашої команди окремо.
Ось приклад використання команди route для зміни шлюзу:
Це не вдається, оскільки ми не знаходимося в підвищеному PS:
> route change 0.0.0.0 mask 0.0.0.0 192.168.1.3
The requested operation requires elevation.
Це працює після прийняття UAC:
> Start-Process route -ArgumentList "change 0.0.0.0 mask 0.0.0.0 192.168.1.3" -Verb runas
Або для команди, яка вимагає cmd.exe:
> Start-Process cmd -ArgumentList "/c other_command arguments ..." -Verb runas