0

以下のコードがあり、出力を表のように表示したいと思います

$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 を見ましたが、コツがつかめません。

上記のコードを使用したいくつかの例は、非常に高く評価されます。どうもありがとう。

4

2 に答える 2

-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
于 2012-08-03T11:59:41.867 に答える
-1

現在のコードは単に機能しないため、支援を開始することさえ困難です... ($spListItem とは...何ですか? foreach は $item を使用していますが、それを使用していると仮定できますか?)。また、このアイテムのタイプに関する情報はほとんどまたはまったくありません。辞書オブジェクトのように見えます... とにかく、私は試してみます:

$items | ForEach-Object {
    # assume $items is array of dictionary objects...
    New-Object PSObject -Property $_
} | Format-Table ID, Name, Department, Telephone

明らかに、うまくいかないかもしれません.

于 2012-08-03T09:10:25.407 に答える