我想知道为什么从下面代码中的哈希表中的'NextRun'属性中删除comment标签会导致默认格式从表切换到列表。
$a=Get-ScheduledTask|sort state`
$b=$a|Get-ScheduledTaskInfo`
for ($i=0; $i -lt $a.Count;$i+=1)`
{$props=@{'Name' =$a[$i].TaskName;
'Description'=$a[$i].description;
'State' =$a[$i].state;
#'NextRun' =$b[$i].nextruntime;
'LastRun' =$b[$i].lastruntime}
$obj = New-Object -TypeName PSOBject -Property $props
$obj}`
或者,是否有不同的对象类型会阻止它发生?
答案 0 :(得分:2)
在没有格式化cmdlet的情况下输出对象属性时,PowerShell会查看属性数以确定它是否将使用表或列表。根据我的经验,五个或更多属性自动格式化为一个列表,其中表格的自动格式更少。
在这种情况下,您需要使用格式化cmdlet来影响输出格式,或输出较少的属性来更改自动格式。