Powershell 如何将应用程序作为“运行”;“以管理员身份运行”;从命令提示符?

Powershell 如何将应用程序作为“运行”;“以管理员身份运行”;从命令提示符?,powershell,cmd,command-prompt,Powershell,Cmd,Command Prompt,我有一个名为test.bat的批处理文件。我正在调用test.bat文件中的以下说明: start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1 当我通过命令提示符运行它时,我的testscript正在成功运行。我想以管理员身份运行它(就像我创建了桌面快捷方式并以管理员身份运行一样。它不应该提示输入任何用户名或密码) 我已尝试在上述test.bat中添加/elevate和/NOUAC参数,但没有成功。如何解决此问题 我知道

我有一个名为
test.bat
的批处理文件。我正在调用
test.bat
文件中的以下说明:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1
当我通过命令提示符运行它时,我的testscript正在成功运行。我想以管理员身份运行它(就像我创建了桌面快捷方式并以管理员身份运行一样。它不应该提示输入任何用户名或密码)

我已尝试在上述
test.bat
中添加
/elevate
/NOUAC
参数,但没有成功。如何解决此问题

我知道如何手动执行,但我希望这是从命令提示符执行

(作者):…不使用任何其他工具,如中建议的工具。

请参阅本文:

从命令提示符:

C:\> runas /user:<localmachinename>\administrator cmd
C:\>runas/user:\administrator cmd
或者,如果您连接到域:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
C:\>runas/user:\cmd
试试这个:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

它第一次保存密码,并且不再询问。当您更改管理员密码时,可能会再次出现提示。

看起来是
psexec-h
的方法:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.
哪个。。。中的联机文档中似乎没有列出


但是它在我的机器上工作。

我重新阅读了你的问题,你不想被提示。我的建议将导致密码提示。很抱歉我尝试了这个命令,它正在请求凭据,它不应该请求凭据。正如我在询问中提到的。如果我右键单击桌面项目,则以管理员身份运行该项目是预期的行为。此处可以询问此问题的可能重复项,不应将其作为主题关闭。这是一个与编程和软件开发相关的问题。DOTNET程序和C++都具有通过调用控制台命令或简单地通过批处理文件来与系统和其他程序进行迭代的能力。这对我来说是有用的:有时“以管理员身份运行”将意味着“以高权限运行”。<代码> SUDO。BAT < /Cord>可能对某些人有用。应该移动到超级用户而不是关闭(并标记为的副本)在此处不起作用。相反,我只是得到帮助输出。这似乎对我不起作用,除非我从一个已经具有管理员权限的进程运行它:“无法安装PSEXESSVC服务”我在Windows 10中甚至没有此命令。-不是从命令提示符,也不是从Power Shell。@Brainslaugs83,您必须下载它,答案中有链接。虽然这可能正常工作,但这绝对是一个可怕的想法,因为它破坏了UAC的整个概念。@BenVoigt请建议另一种方法,然后尝试
powershell-command“启动进程”C:\program.exe'-Verb runAs“
(用您的命令替换
C:\program.exe
),查看当我可以右键单击任何其他程序并以管理员身份运行而无需输入密码时,为什么需要输入密码?Thanks@BenVoigt不要吹垫片。就像任何电源命令一样,它在特定环境下既有用又必要。