【问题标题】:Invoke Command Computer Name not valid error when passing from variable从变量传递时调用命令计算机名无效错误
【发布时间】:2020-05-21 14:24:58
【问题描述】:

我对 Invoke Command 进行了一些测试,发现了一些有趣的结果。

这是成功码sn-p。

Invoke-Command  -ComputerName serverA,serverB,serverC,serverD,serverE -ScriptBlock{Get-WindowsUpdate | Format-Table -AutoSize}

这是返回错误的代码sn-p。

$servers="serverA,serverB,serverC,serverD,serverE"
Invoke-Command  -ComputerName $servers -ScriptBlock{Get-WindowsUpdate | Format-Table -AutoSize}

错误信息:

Invoke-Command:一个或多个计算机名称无效。如果你是 尝试传递 URI、使用 -ConnectionUri 参数或传递 URI 对象而不是字符串。

为什么从变量中读取会出错?如何解决?

【问题讨论】:

    标签: powershell invoke-command


    【解决方案1】:

    参数Computers 接受字符串集合。逗号被视为分隔符,用于构建集合。将其用作:$servers="serverA,serverB,serverC,serverD,serverE" 是一个包含逗号的大字符串,而不是字符串的集合。

    应该是:$servers="serverA","serverB","serverC","serverD","serverE"

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多