各位大佬,问个命令行问题

2021-12-16 20:20:43 +08:00
 Gizmo

已经打开了 powershell 或 cmd 的情况下,可以提升到管理员权限(像右键选择以管理员打开 powepowershell 或 cmd )吗?

可以的话是什么命令?

谢谢

2761 次点击
所在节点    Windows
14 条回复
monkey110
2021-12-16 20:29:59 +08:00
runas /user:administrator "cmd"
codergrowing
2021-12-16 20:45:48 +08:00
Windows 上也有一个 sudo 的工具,可以实现类似*nix 系统上的效果。
http://blog.lukesampson.com/sudo-for-windows

```
# first download scoop
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

# enable powershell, if you haven't already
set-executionpolicy unrestricted -s cu -f

scoop install sudo
```
ncepuzs
2021-12-16 20:50:14 +08:00
同 #2
flynaj
2021-12-16 23:55:27 +08:00
runas /user:administrator
flynaj
2021-12-16 23:55:46 +08:00
就是 1 楼这个
ysc3839
2021-12-17 00:52:55 +08:00
一楼的是用密码登录的方案,不是弹出 UAC 授权提示。

弹出 UAC 授权提示的原理之一是调用 ShellExecute ,把 Operation 参数设置成 "runas"。https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew#runas

PowerShell 可以用 Start-Process -Verb RunAs ,也可以直接调用 ShellExecute API 。

cmd 不能直接调用 Win32 API ,间接的方案可以利用 mshta.exe 通过 URL 执行 VBScript 或 JScript ,创建 "Shell.Application" 对象,然后调用其中的 ShellExecute ,传入 "runas"。

mshta vbscript:CreateObject("Shell.Application").ShellExecute("","","","runas",1)(window.close)
ysc3839
2021-12-17 00:54:46 +08:00
刚刚回复时触发关键词被拒绝访问了,最后没有发完。完整命令如下:
mshta vbscript:CreateObject("Shell.Application").ShellExecute("程序名称","","","runas",1)(window.close)
Tumblr
2021-12-17 08:44:51 +08:00
1. 在原进程上不可以提升为管理员,只能重新启一个进程。
2. 用 PowerShell 的 Start-Proces 加-Verb RunAs 参数(推荐后者)。

另外,对 @codergrowing #2 提到的 sudo 的内容好奇,怎奈没找到代码,不知道有人在用没,是否可以分享一下。
ragnaroks
2021-12-17 08:56:59 +08:00
chengyiqun
2021-12-17 09:09:49 +08:00
@Tumblr 我自己就在用 scoop 里的 sudo. 非常方便.
不过我更习惯这样
![image.png]( https://s2.loli.net/2021/12/17/zBoPpdrR7yiAkJq.png)

参考 github 上的 windowsterminal-shell
Tumblr
2021-12-17 09:48:52 +08:00
@ragnaroks #9 多谢!原来也是个变相的 start-process -verb runas ,然后隐藏窗口了。
@chengyiqun #10 这个确实也方便,不过在 Windows 11 里又是个 challenge 😌
xingchen23
2021-12-17 11:33:40 +08:00
没安 scoop 个人用的是 gsudo 不知道满不满足楼主需求
Shilion
2021-12-19 14:14:00 +08:00
ungrown
2021-12-22 00:55:28 +08:00
用 elevate (其实类似的工具还挺多的)
http://code.kliu.org/misc/elevate/
https://github.com/PaoJiao/elevate

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/822679

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX