在没有自定义工具的情况下从命令行导致UAC弹出窗口


8

在Win7中,用户可以右键单击程序,然后选择“以管理员身份运行”。你得到一个弹出窗口,但必须输入管理员密码。

我想获得相同的功能,但要从命令行获得-尤其是从.bat文件内部获得。

知道内置runas命令,但是我还没有找到一种使用该方法的方法,该方法最终并不会要求输入密码。

我也知道Process.StartInfo.Verb = "runas";方法,它确实可以实现我想要的功能,但是需要我创建一个自定义.NET应用程序。

是否有办法仅使用Win7中的内置命令行工具来完成此任务?


更新:感谢uSlackr,我制定了以下命令:

powershell Start-Process cmd.exe -Verb RunAs

当然,cmd.exe只是一个占位符。

Answers:


4

您可以将Powershell中的Start-Process cmdlet与RunAs动词一起使用。此处更多信息:http : //technet.microsoft.com/zh-cn/library/dd347667.aspx


完美,谢谢。我用一个可行的例子更新了这个问题。
2012年

Windows XP上是否有等效功能?
2013年

Powershell可用于XP。
uSlackr 2013年

XP没有UAC所以这个问题是不相关的它
nponeccop

@nponeccop我假设希望在Windows XP下运行的动机是让一个脚本在Windows 7和Windows XP上都运行,而对于具有PowerShell和UAC的Windows 7则没有一条路径,而对于没有PowerShell的Windows 7则没有第二条路径。 PowerShell,没有UAC。
Damian Yerrick '18

1

只需以管理员身份运行cmd.exe。

从开始菜单中选择命令行后,此快捷键为[shift] + [enter]。UAC窗口应弹出。

要么

以管理员身份运行所有内容

不建议日常使用,但是还有一个内置的管理员帐户,您可以在Windows中激活该帐户,该帐户将以root身份运行所有应用程序。在管理命令中:

net user administrator /active:yes

如果要禁用该帐户,请将其更改为“ / active:no”。这里有一个简短的介绍。


关于您的第一个建议:对不起,我不清楚。我想从.bat文件中执行此操作(问题已更新)。
2012年

关于您的第二个建议:我执行了此操作,并得到“发生系统错误5。访问被拒绝”。
2012年

甚至以管理员身份运行cmd.exe?
海耶斯

1
这个问题的全部要点是,我以非管理员用户身份运行此命令,并且希望暂时提升权限。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.