Powershell:格式表:非法密钥计数

时间:2011-07-18 15:46:27

标签: powershell formatting invalid-argument

我收到以下错误,我不明白为什么或要求它。

我试图在表格中显示的对象是:

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 个答案:

答案 0 :(得分:6)

您有非法格式的密钥名称,将其删除(或将其重命名为宽度?):

@ {表达= {$ _价值};标签= “URL”;的计数= 35 }