启动进程Powershell命令中的动词RunAs导致错误
如果我在Poweshell脚本文件中运行以下命令($cmd指一些可执行文件): 然后执行OK 但如果我稍微修改一下:启动进程Powershell命令中的动词RunAs导致错误,powershell,runas,Powershell,Runas,如果我在Poweshell脚本文件中运行以下命令($cmd指一些可执行文件): 然后执行OK 但如果我稍微修改一下: Start-Process -NoNewWindow -FilePath $cmd -Verb RunAs Powershell 或者像这样: Start-Process -FilePath $cmd -ArgumentList @("status") -Verb RunAs Powershell 。。。然后,该命令失败,并显示以下错误消息: 启动进程:无法使用指定的 命
Start-Process -NoNewWindow -FilePath $cmd -Verb RunAs Powershell
或者像这样:
Start-Process -FilePath $cmd -ArgumentList @("status") -Verb RunAs Powershell
。。。然后,该命令失败,并显示以下错误消息:
启动进程:无法使用指定的
命名参数
我想知道为什么不接受这种格式,以及我应该如何修改命令以同时指定参数列表和选项“-Verb RunAs…”也许可以帮助您:
$cmd = 'powershell.exe'
$arguments = "-NoLogo -NoProfile -WindowStyle Maximized"
Start-Process $cmd $arguments -Verb runAs
另一个例子来自:
你能用你的程序和参数试试看它是怎么运行的吗?猜测
-nonewindow
和-Verb RunAs
不能组合,因为你不能提升当前使用的会话
经过进一步调查,你不是唯一一个调查此事的人。我读到它们是不相容的
根据你这样运行的动机,你可以隐藏窗口
Start-Process "powershell" -Verb "runas" -WindowStyle hidden
你也可以研究一下哪一个可以处理这类事情。这可以在同一个窗口中启动一个交互式会话。这很好,但不是我想要的。我希望能够通过“-nonewindow”选项,由于某些原因,我无法将其与动词组合。ArgumentList选项也是如此。我试图理解为什么它们不能组合。猜测
-nonewindow
和-Verb RunAs
不能组合,因为您可以提升当前使用的会话。我去看看这是不是真的。我读到他们是哦,我明白了,这就是为什么!谢谢你的澄清。如果你把你的观察改写成答案,我可以接受它作为答案。宾果!事实上,这是很合乎逻辑的。如果可以提升权限而不离开由当前窗口表示的会话,那将很奇怪。@VagifAbilov那么解决方案是什么呢?
Start-Process powershell -Credential mydomain\mydomainAdmin -ArgumentList '-noprofile -command &{Start-Process notepad -verb runas}'
Start-Process "powershell" -Verb "runas" -WindowStyle hidden