Linux到Windows-远程执行.exe

时间:2018-07-02 06:23:44

标签: powershell centos remote-access powershell-remoting powershell-core

我们需要从Linux机器到Windows 10远程执行带有参数的.exe,因此我们在CentOS中安装了PowerShell。以下是我们使用的命令:

Xlsx.DisplayAlerts = True

出现以下错误

  

Invoke-Command:无法使用指定的命名参数来解析参数集。发出的一个或多个参数不能一起使用,或者提供的参数数量不足。
  在第1行:char:1

enter image description here

Same适用于Windows到Windows。

1 个答案:

答案 0 :(得分:2)

如错误消息中所述,您正在尝试使用无效的参数集。打开the documentation for Invoke-Command后,您可以找到可以使用的集合。

看看我链接的文档开头的块。仅有两个带有-HostName参数的集合:

Invoke-Command
      -ScriptBlock <scriptblock>
      -HostName <string[]>
      [-Port <int>]
      [-AsJob][-HideComputerName]
      [-UserName <string>]
      [-KeyFilePath <string>]
      [-SSHTransport]
      [-RemoteDebug][-InputObject <psobject>]
      [-ArgumentList <Object[]>]
      [<CommonParameters>]

Invoke-Command
      -FilePath <string>
      -HostName <string[]>
      [-Port <int>]
      [-AsJob]
      [-HideComputerName][-UserName <string>]
      [-KeyFilePath <string>]
      [-SSHTransport]
      [-RemoteDebug]
      [-InputObject <psobject>][-ArgumentList <Object[]>]
      [<CommonParameters>]

如您所见,它们都没有-Credential参数可用。您的选择是:

  1. 使用WinRM代替SSH

在这种情况下,您将必须使用-ComputerName参数而不是-HostName

  1. 使用-SSHConnection

从文档中

  

此参数采用哈希表数组,其中每个哈希表都包含一个或多个建立安全Shell(SSH)连接所需的连接参数(主机名,端口,用户名,密钥文件路径)。

  1. 使用我上面粘贴的一组内容

由于我不了解您的配置,因此无法告诉您哪种配置最适合您,因此您必须选择自己。