2016-10-13 5 views
0

Ich führe folgendes Skript im Powershell-Skript aus und erhalte einen Fehler.Powershell-Skriptfehler bei der Ausgabe Array innerhalb der if-Anweisung

$queues = Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue 

$ list = $ warteschlangen | ft -Property Name MessagesInQueue

for (i = 0 $; $ i -LT 6; $ i ++) {

if ($ -gt i 2) {

$list[$i] 

} 

}

Fehler: out-lineoutput: das Objekt vom Typ "Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData" nicht gültig ist oder nicht in der richtigen Reihenfolge. Dies wird wahrscheinlich durch einen benutzerdefinierten Befehl "format- *" verursacht, der mit der Standardformatierung in Konflikt steht. + CategoryInfo: invalidData: (:) [out-lineoutput] InvalidOperationException + FullyQualifiedErrorId: ConsoleLineOutputOutOfSequencePacket, Microsoft.PowerShell.Commands.OutLineOutputCommand

Antwort

0

Es sieht aus wie Sie versuchen einfach, die Überschriften für Ihre Daten zu überspringen, wenn angezeigt mit Format-Table (oder FT für kurz wie Sie verwendet haben). Verwenden Sie dazu einfach den Schalter -HideTableHeaders auf Ihrem FT-Befehl und erfassen Sie ihn nicht in einer Variablen.

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

Für diese Angelegenheit sollten Sie nur Format-Table oder einen der Text anzuzeigen Format- Befehle verwenden, in einer Variablen speichern nicht. Wenn Sie nur die ersten 4 Einträge würde die Pipeline an einem Select Befehl vor dem FT wie:

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

Vielen Dank Mann. Es hat wie ein Zauber funktioniert. -HideTableHeaders Bingo !!! – xs2rashid

Verwandte Themen