【发布时间】:2021-02-22 14:46:52
【问题描述】:
Powershell 新手在这里。试图找出为什么不能在我的表达式中使用 $_ 值:
$ServerList = @(
'Server1',
'Server2',
'Server3'
)
$ServerList | ForEach-Object (get-cswindowsservice -Name "rtcpdpcore" -Computer $_ | Select-object @{Label = "ServerName";Expression={$_}}, Status, Displayname | format-table -autosize -wrap)
出现错误: Get-CsWindowsService:无法验证参数“计算机名”上的参数。论据 为空或为空。提供一个不为 null 或空的参数,然后尝试该命令 再次。
但这确实可以输出数组值吗??
$ServerList = @(
'Server1',
'Server2',
'Server3'
)
$ServerList | ForEach-Object {write-output $_}
为什么在第一个例子中 '$_' 为空?但在第二个填充?
谢谢
【问题讨论】:
-
您在第一个示例中使用了错误的括号。它应该是
{}而不是()。 -
谢谢!很简单!这行得通。
-
现在有新问题。传递给我的标签“ServerName”的值是“rtcpdpcore”,而不是数组值。很奇怪。
-
新问题,新问题。
-
WaitingForGuacamole - 搞定了。非常感谢。
标签: arrays powershell foreach