从变量传递时,调用命令计算机名称无效错误

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

这是成功代码段。

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

这是返回错误的代码段。

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

错误消息:

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

为什么从变量读取时发生错误?如何解决?

fei2008e 回答:从变量传递时,调用命令计算机名称无效错误

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

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

本文链接:https://www.f2er.com/2305695.html

大家都在问