我正在使用以下方法检索带有caml查询的列表项:
$list = $web.Lists["My List"]
$items = $list.GetItems($query)
我需要以可读格式输出这些数据,例如表格。当我使用时:
$items | Format-Table
我得到了一个使用我不知道的内容构建的表。它绝对不是列表项。下面是输出:
ListItems Parent List
--------- -----------
{Title of List Item 1, Title of List Item 2, ...} My List
{Title of List Item 1, Title of List Item 2, ...} My List
{Title of List Item 1, Title of List Item 2, ...} My List
如果我使用foreach循环输出项目中的每个项目,我会得到正确的数据,但我无法将其格式化为表格。我是这样做的:
foreach($item in $items) {
Write-Host $item["Title"] ---- $item["Author"] ---- $item["Category"]
}
哪个输出:
Test Title 1 ---- Hemingway ---- Best Seller
The Title of Number 2 ---- Stein ---- Horror
Three ---- Shakespeare ---- Tragedy
不太可读。如何在方法1中访问正确的数据,或将方法二格式化为表?
答案 0 :(得分:2)
为每个项目创建一个自定义表格并将其传递给Format-Table
:
$items | Foreach-Object{
New-Object PSObject -Property @{
Title = $_["Title"]
Author = $_["Author"]
Category = $_["Category"]
}
} | Format-Table