以管理员身份通过批处理文件传递参数运行 powershell 脚本

以管理员身份通过批处理文件传递参数运行 powershell 脚本

当我通过批处理文件运行该脚本(没有管理员)时,它会传递参数,但是当我以管理员身份运行该脚本时,它不会传递参数。

我尝试了链接中的命令,但没有成功:
有条件地以管理员身份打开程序

以管理员身份通过批处理文件执行脚本的命令:

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File "D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1' '%_vLUF%'  -Verb RunAs}" 

%_vLUF%要传递的参数。

错误信息:

No line:1 character:4
+ & {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolic ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

powershell脚本中接收参数的命令:

Param(
     [decimal]$env:_vLUF
)

批处理文件中或 powershell 脚本中的命令可能出了什么问题?

答案1

根据以下链接中的答案:
通过批处理文件以管理员身份运行 powershell 脚本

它的工作原理如下:

powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -Verb RunAs powershell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File \"D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1\" -_vLUF %_vLUF%'"

相关内容