我有一个程序的快捷方式,它只有在以管理员身份运行时才有效,但在快捷方式高级选项中,“始终以管理员身份运行”是灰色的。我查看了其他类似的问题,但没有一个适用于我的问题。UAC 已启用,我是管理员,我不知道如何在 cmd 中运行它。
答案1
您可能能够使用兼容性选项卡上的以管理员身份运行。
第三方方式的一种方法是使用 nircmd。 http://www.nirsoft.net/utils/nircmd2.html#elevate
答案2
如果您将可执行文件添加到快捷方式目标,它就会起作用。例如:
右键单击快捷方式并将目标从:
C:\Scripts\helloworld.js
到
wscript.exe C:\Scripts\helloworld.js
(或者)
cscript.exe C:\Scripts\helloworld.js
然后在属性中激活以管理员身份运行复选框。
例如:
对于 Python 脚本,在目标字段中添加:
"C:\Users\......\Python36\python.exe" "C:\Users\......\test.py"
对于 PowerShell 脚本,在目标中添加以下内容:
powershell.exe -command "& 'C:\A path with spaces\MyScript.ps1'"
(如果你还想传递一些参数,请参见这)
不要忘记检查“以管理员身份运行”...
一切荣耀归于拉梅什·斯里尼瓦桑
答案3
似乎批处理文件/脚本无法使用“以管理员身份运行”上下文菜单选项和/或快捷方式复选框。以下是针对 PowerShell 的解答: 如何以管理员身份运行脚本?
我还没有关于运行常见批处理文件的答案。
答案4
这似乎发生在 Windows 无法识别/信任的文件类型上。但我刚刚找到了一个简单的解决方案。
创建 cmd.exe 的快捷方式(c:\windows\system32\cmd.exe),并将目标字段替换为以下内容
C:\windows\System32\cmd.exe /c start "" "c:\path\to\your.file"
现在您应该能够在“高级”选项卡上启用“以管理员身份运行”
注意事项:
- 在 Windows 10 上,以管理员身份运行似乎有一组不同的网络驱动器,请尝试使用绝对 UNC 路径而不是映射驱动器
- 如果需要传递参数请点击此处 有关“开始”命令的一些文档
为什么我们使用Start
而不是直接用cmd.exe打开它?
- 如果你只是使用快捷方式运行该文件
cmd.exe /c c:\path\to\your.file
,那么只要你的程序正在运行,你就会陷入一个空的黑色窗口打开的状态
如何Start
解决这个问题?
- 它启动一个带有标志的 cmd 实例
/c
,在命令运行完成后关闭它 - 然后它运行
Start
cmd.exe 中的本机命令,在新窗口中打开“程序” - 该命令的工作方式是,
Start
如果它不是可执行文件,则启动将传递给 Windows,然后 Windows 使用与该文件类型关联的程序打开它 - 启动后,
Start
命令结束,然后关闭 cmd.exe 窗口