Powershell: Format-Table: количество нелегальных ключей - PullRequest
0 голосов
/ 18 июля 2011

Я получаю следующую ошибку, и я не понимаю, почему или о чем она просит.

Объект, который я пытаюсь отобразить в таблице:

function newURLObject()
{
#  param ([String]$Value, [Int]$Count = "1", [String]$IP )
   param ([String]$Value, [Int]$Count = "1" )


  $obj = new-object PSObject
  $obj | add-member -type NoteProperty -Name Value -Value $Value.substring(1)
  $obj | add-member -type NoteProperty -Name Count -Value $Count
 # $obj | add-member -type NoteProperty -Name IP -Value $IP

  return $obj
}

Основной поток следующий.

#< Declare Objects>
#< Code to create an array of those objects >

$z = @{Expression={$_.Count};Label="Count";width=5}, @{Expression={$_.Value};Label="URL";count=35} 

$y = $listOfRequestedURLs  | sort count -descending | select -first 30 | ft $z 


Format-Table : Illegal key count
At C:\Temp\parse IIS logs.ps1:231 char:8
+ $y | ft <<<<  $z
    + CategoryInfo          : InvalidArgument: (:) [Format-Table], NotSupportedException
    + FullyQualifiedErrorId : DictionaryKeyIllegal,Microsoft.PowerShell.Commands.FormatTableCommand

Я знаю значения в массиве; но он не будет отображаться правильно. Если я отображаю его без таблицы форматов, поле значения просто отображается как пустое.

1 Ответ

6 голосов
/ 18 июля 2011

У вас есть недопустимое имя ключа формата, удалите его (или переименуйте в width?):

@ {Expression = {$ _. Value}; Label = "URL"; count =35 *} 1004

...