Windowsで次のコマンドを実行するにはどうすればよいですか。
$ sudo django-admin.py startproject NEW
?
Windowsで次のコマンドを実行するにはどうすればよいですか。
$ sudo django-admin.py startproject NEW
?
回答:
sudo
Windowsにはコマンドはありません。最も近いものは「管理者として実行」です。
これを行うにrunas
は、管理者の信頼レベルでコマンドを使用するか、UIでプログラムを右クリックして[ 管理者として実行]を選択します。
gsudo
(stackoverflow.com/a/58753166/97471)。*nix sudo
ユーザーエクスペリエンスのあるWindows用のsudo :現在のコンソール内でコマンドを実行できるようになり、資格情報キャッシュ(UACポップアップが1つだけ)。
メモ帳を開き、次のコードを貼り付けます。
@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 .
。
コマンドを実行するときにadminコマンドプロンプトウィンドウを開いたままにする場合は、メモ帳のコードを次のように変更します。
@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% && %*'
です。%*
すべての引数を意味するので、そうした場合、パラメータはfooとbarであるため、sudo foo bar
コマンドプロンプトで実行されfoo bar
、を%*
返しますfoo bar
。cd /d %CD%
現在のディレクトリに移動するコマンドです。これにより、昇格したウィンドウを開いたときに、ディレクトリが通常のウィンドウと同じになります。&&
最初のコマンドが成功した場合、2番目のコマンドを実行することを意味します。
/c
コマンドが終了した後、ウィンドウを閉じるためのCMDパラメータであり、/k
ウィンドウのオープンを維持するためのCMDのパラメータです。
現在のディレクトリコードにとどまっているAdam Plocherの功績です。
C:\Windows\System32
です。
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
echo
1行目と3行目をスキップすることはできません@
か?
すべての回答は、新しいコンソールホストでコマンドを昇格する方法を説明しています。
面白かったのは、これらのツールのいずれものよう*nix sudo
に動作せず、現在のコンソール内でコマンドを実行できることです。
だから、私は書きました:gsudo
ソースコードhttps://github.com/gerardog/gsudo
スクープ経由
scoop install gsudo
またはChocolatey経由
choco install gsudo
手動インストール:
私は、現在のディレクトリのコンテキストで、昇格された権限でプログラムまたはコマンドを実行するためのWindows用のwsudo
オープンソースのsudo
ようなCLIツールを作成しました。Chocolateyパッケージとして利用できます。
ビルドエージェントの設定、などの管理sfc /scannow
、dism /online /cleanup-image /restorehealth
または単にローカルのChocolateyパッケージのインストール/更新などに多く使用します。自己責任。
choco install wsudo
Chocolateyが既にインストールされている必要があります。
wsudo
sudo
管理者以外のシェルコマンドプロンプトから(管理者として)昇格された権限を持つプログラムを呼び出し、現在のディレクトリを維持するための、Linuxに似たWindows用ツールです。
この実装は、従来のWindows Script Host(CScript
)に依存していません。代わりに、"Start-Process -Wait -Verb runAs ..."
コマンドレットを呼び出すヘルパーPowerShell 5.1スクリプトを使用します。ほとんどの場合、システムにはすでに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にアクセスしてください。
runas
コマンドでは、ユーザーはパスワードを入力する必要があります。パスワードを入力せず、UACダイアログをクリックするだけの場合Start-Process -Verb runas
は、runas
コマンドではなくPowerShellを使用します。
関係なく* nixの下では実行しないため、通常はそうしません。ユーザーディレクトリで開発を行い、その後システムディレクトリに展開します。
Windowsでは、runasコマンドを使用できます。Linuxユーザーの場合、Windowsでのsudoの代替手段がいくつかあります。これを確認できます。
http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/
あります。2007年にWindows用のSudoを作成しましたか?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を使用してscoopをインストールします(iex(new-object net.webclient).downloadstring( ' https://get.scoop.sh '))2. do scoop install --global sudo 3.パスを確認します(C: \ Users \\ scoop \ shims&C:\ ProgramData \ scoop \ shims)が環境パス変数に追加されました。
お手伝いさせていただきます。
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