【问题标题】:How to use variable as an argument for command in "Invoke-Expression" [duplicate]如何在“Invoke-Expression”中使用变量作为命令的参数 [重复]
【发布时间】:2019-03-06 20:23:32
【问题描述】:

我收到了错误

无法将参数绑定到参数“Command”,因为它为空。 + CategoryInfo : InvalidData: (:) [Invoke-Expression], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.InvokeExpressionCommand + PSComputerName : X

当我尝试使用时

$command = "cmd.exe /c $($currentLocation)/Ping.cmd"
Invoke-Command -ComputerName $systemName -credential $credentials -ScriptBlock {Invoke-Expression -Command: $command }

如何使用这样的变量?我有这个要求,所以我不能直接使用它,它需要是动态的。

【问题讨论】:

    标签: powershell invoke-command


    【解决方案1】:

    您可以将-ArgumentList 参数与Invoke-Command 一起使用,也可以使用$using: 访问您的变量,如下所示:

    Invoke-Command -ComputerName $systemName -credential $credentials -ScriptBlock {
        Invoke-Expression -Command: $using:command
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 1970-01-01
      • 2014-12-24
      • 2019-06-11
      • 2012-10-16
      • 1970-01-01
      • 2010-09-05
      • 2020-01-27
      • 1970-01-01
      相关资源
      最近更新 更多