找不到接受参数/安装脚本的位置参数

A positional parameter cannot be found that accepts argument / Installation Script

我是一名学生,对 PowerShell 还很陌生。

我正在尝试让我的 msi 远程下载,但我一直遇到错误。

A positional parameter cannot be found that accepts argument '\share\folder\Path to msi'.
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
    + PSComputerName        : RemoteDesktopName

这是我的脚本:

$msi = @(\share\folder\Path to msi)

Invoke-Command -ComputerName PCname -ScriptBlock {param($msi) Start-Process msiexec.exe /i "\Path to msi" /qn /passive -Wait 
 Start-Sleep 5 } -ArgumentList $msi

有人可以帮帮我吗?任何反馈将不胜感激。

如果您解析的唯一内容是路径字符串,则不必将 $msi 设为数组。此外,如果解析 $msi,为什么要在 Invoke-Command 中使用 "\Path to msi"

编辑:您可能应该通过 -Argumentlist.

解析 msiexec.exe 的参数

试试这个:

$msi = "Path to msi"

Invoke-Command -ComputerName PCname -ScriptBlock {param($msi) Start-Process msiexec.exe -Wait -ArgumentList "/I $msi /qn /passive"} -ArgumentList $msi