在if语句中输出数组时出现Powershell脚本错误
我正在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
$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