36345


`netstat -ab` を実行すると、管理者権限が必要である、と言われてエラーになりました。

[code]

    要求された操作には管理者特権が必要です。
    
[/code]

Unix でいう、 `sudo netstat -ab` みたいなことがやりたいのですが、これはどうやったら実現できるでしょうか。

* * *

背景: NTEmacs や msys bash などからたたきたいので、コマンドから実行したいです。また、普段こいつら環境は通常権限で実行していたいです。

* * *

調べたこと

[Is there any 'sudo' command for
Windows?](https://superuser.com/q/42537/485243) の accepted answer を試してみました。  
何かというと、コマンドプロンプトから

[code]

    runas /noprofile /user:Administrator cmd
    
[/code]

を実行するとよい、と記述してありました。(この時点で若干自分のほしいものと違う気がしますが、まずこれをトライしました。)  
/user:Administrator
のパスワードが要求されたのですが、これが何なのかわからず、実行できませんでした。（自分のログインユーザーだと、問題なくコマンドプロンプトを起動させることができるのですが、ログインユーザーなので、管理者権限はやっぱりもっていなくって、
`netstat -ab` は実行できませんでした。)


CC BY-SA 3.0
2016-09-30T02:17:55.977
29256
2020-05-02T06:02:15.627
2020-05-02T05:53:19.723
19110
754
question
windows sudo
Windows10 で、 unix でいう sudo がやりたい


最初から管理者権限でコマンドプロンプトを実行すればよいと思いますが、Windowsで`sudo`、というかエクスプローラー上で「管理者として実行」と表示されている操作は、技術的には「
**`verb`(動詞)に`runas`を指定してプロセスを開始する**」ことで実現できます。

`verb`の指定はコマンドプロンプトでは出来ませんので、PowerShellで

`Start-Process -Verb runas -ArgumentList "/K netstat -ab" cmd`

のようにコマンドレットを使用する必要があります。


CC BY-SA 3.0
2016-09-30T03:03:53.107
29260
2016-09-30T03:03:53.107
5750
29256
answer


[mattn](https://github.com/mattn) さんの作られた Windows 用の sudo コマンドは如何でしょうか。

  * Github: <https://github.com/mattn/sudo>
  * 解説: [Big Sky :: sudo コマンド書いた。](https://mattn.kaoriya.net/software/lang/go/20170614142801.htm)

内部で `ShellExecuteEx` という API の `verb` に「Run as Administrator」を意味する `runas`
を付けて起動することで、sudo のような挙動を実現しています。


CC BY-SA 4.0
2017-07-14T04:07:06.910
36345
2020-05-02T06:02:15.627
2020-05-02T06:02:15.627
19110
19110
29256
answer