如何以管理员身份在新的 powershell 实例中 运行 cmd 命令

How to Run cmd command in new powershell instance as administrator

我正在尝试 运行 PowerShell 中的 2 cmd 命令,但显示错误。

CMD

cd C:\apache-jmeter-5.2.1\bin
.\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl

错误

PS C:\apache-jmeter-5.2.1\bin> .\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl
.\jmeter : 'findstr' is not recognized as an internal or external command,
At line:1 char:1
+ .\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: ('findstr' is no...ternal command,:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

operable program or batch file.
Not able to find Java executable or version. Please check your Java installation.
errorlevel=2

当我以 运行 管理员身份打开新的 PowerShell 实例时,命令 运行s 成功。

我尝试了以下命令,它以管理员身份打开了新的 PowerShell window,但错误相同

Start-Process powershell -Verb runAs ".\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl"

错误

'findstr' is not recognized as an internal or external command,
operable program or batch file.
Not able to find Java executable or version. Please check your Java installation.
errorlevel=2
Press any key to continue . . .

您可以使用 Cmdlet Invoke-Command 使用特定凭据执行命令:

Invoke-Command -ScriptBlock {
      Set-Location C:\apache-jmeter-5.2.1\bin
      & C:\apache-jmeter-5.2.1\bin\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl
} -Credential Administrator

请测试并告诉我!

终于,我可以运行了...

实际上,在 运行ning Jmeter 之前,我在 Path 环境变量中添加了以下 3 个路径。

C:\Windows\System32
C:\Program Files\Java\jdk-13.0.2\bin
C:\apache-jmeter-5.2.1\bin

现在我删除了第三条路径,即 'C:\apache-jmeter-5.2.1\bin' 和 运行 ScriptBlock 中的命令

Invoke-Command -ScriptBlock {
cd C:\apache-jmeter-5.2.1\bin
.\jmeter -n -t C:\User-search.jmx -l C:\Result.jtl
}