我在下面有这个代码,我想在时尚
这样的表格中显示输出$spSite = Get-SPSite "http://sp2010"
$spWeb = $spSite.OpenWeb()
$spList = $spWeb.Lists["ReportList"]
$items = $spList.Items
foreach($item in $items)
{
Write-Host $item["ID"] $item["Name"] $item["Department"] $item["Telephone"]
}
像这样:
ID Name Department Telephone
--- -------- ----------- ------------
1 Somone IT 02554445588
我看过Format-Table,但我似乎无法理解它。
非常感谢使用上述代码的一些示例。 非常感谢。
答案 0 :(得分:-1)
很难开始帮助,因为当前的代码根本不起作用...($ spListItem是......什么?foreach使用$ item,我们可以假设你正在使用它吗?)。另外:我们几乎没有关于这个项目的类型的信息,它看起来像一些字典对象......无论如何,我会尝试:
$items | ForEach-Object {
# assume $items is array of dictionary objects...
New-Object PSObject -Property $_
} | Format-Table ID, Name, Department, Telephone
显然,它可能不起作用,因为我做了一些可能是错误的假设..;)
答案 1 :(得分:-1)
尝试一下:
function Get-SPListItem
{
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[Microsoft.SharePoint.SPList]$List,
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$ViewName
)
process
{
try
{
if($PSCmdlet.MyInvocation.BoundParameters.ContainsKey('ViewName'))
{
$views = $list.Views | Select-Object -ExpandProperty Title
if($views -contains $ViewName)
{
$columns = $List.Views[$ViewName].ViewFields
}
else
{
throw 'Invalid view name'
}
}
else
{
$columns = $List.DefaultView.ViewFields
}
foreach($item in $List.Items)
{
$obj = New-Object PSObject
foreach($col in $columns)
{
$obj | Add-Member -MemberType NoteProperty -Name $col -Value $item[$col]
}
$obj
}
}
catch
{
Write-Error $_
}
}
}
$spWeb.Lists["ReportList"] | Get-SPListItem