在if语句中输出数组时出现Powershell脚本错误

在if语句中输出数组时出现Powershell脚本错误,powershell,Powershell,我正在powershell脚本中运行以下脚本,并出现错误 $queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue $list=$queues | ft-属性名称,MessagesInQueue 对于($i=0;$i-lt 6;$i++) { 如果($i-gt 2) { } 错误: out lineoutput:类型为“Microsoft.PowerShell.Commands.Internal.Format.Formatte

我正在powershell脚本中运行以下脚本,并出现错误

$queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue
$list=$queues | ft-属性名称,MessagesInQueue

对于($i=0;$i-lt 6;$i++) {

如果($i-gt 2) {

}

错误: out lineoutput:类型为“Microsoft.PowerShell.Commands.Internal.Format.FormatteryData”的对象无效或顺序不正确。这可能是由于 用户指定的“format-*”命令与默认格式冲突。 +CategoryInfo:InvalidData:(:)[out lineoutput],InvalidOperationException
+FullyQualifiedErrorId:ConsoleLineOutputAutoofSequencePacket,Microsoft.PowerShell.Commands.OutLineOutputCommand

在使用
格式表
(简称
FT
显示数据时,您似乎只是想跳过数据的标题)。要做到这一点,只需在FT命令上使用
-HideTableHeaders
开关,而不要将其捕获到变量中

$queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue
$queues | ft -property Name,MessagesInQueue -HideTableHeaders
因此,您应该只使用
格式表
或任何
格式-
命令来显示文本,而不是存储在变量中。如果您只需要前4个条目,您可以在
FT
之前通过管道发送到
选择
命令,如:

$queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue
$queues | Select -First 4 | ft -property Name,MessagesInQueue -HideTableHeaders
$queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue
$queues | Select -First 4 | ft -property Name,MessagesInQueue -HideTableHeaders