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

问题描述 投票:0回答:1

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

这是成功的代码片段。

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

这是返回错误的代码片段。

$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个回答
2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.