通过-Verb RunAs通过Start-Process运行cmd.exe,然后以管理员身份自动运行命令

问题描述 投票:0回答:1

[从非高架PowerShell开始,我希望能够以管理员身份启动命令提示符,然后以管理员身份运行特定工具,最终将其用于右键单击菜单选项。

到目前为止,我已经尝试过:

Start-Process cmd -ArgumentList '/k tool.exe' -Verb RunAs

虽然这确实以管理员身份启动命令提示符,但它在非提升的命令提示符中运行tool.exe first,并且then切换到管理员命令提示符。我如何才能以管理员身份运行tool.exe?

windows powershell cmd administrator
1个回答
0
投票

当您直接从GUI应用程序(如文件资源管理器)(通过快捷菜单选项)调用PowerShell(powershell.exepwsh.exe)时,它总是首先为其自身打开一个控制台窗口,< [之前通过Start-Process cmdlet打开另一个。

您必须找到一种启动PowerShell

无形

的方法来防止这种情况,如以下答案所示:
  • [This answer使用mshta.exe隐形启动PowerShell,但是该技术可能会触发来自AV(防病毒)软件的警报。
  • [This answer显示了基于VBScript的帮助脚本的替代方案。

注意:考虑到您仍然需要一个控制台窗口,因此很想尝试Start-Process-NoNewWindow开关在为PowerShell本身打开的控制台窗口中运行命令,但实际上不起作用,因为提升后的进程

必须

在单独的窗口中运行(-NoNewWindow无法与-Verb RunAs结合使用。
© www.soinside.com 2019 - 2024. All rights reserved.