我正在尝试使用下面的脚本从列表中获取一些数据。 我正在将它用于我的Sp 2007并且它工作但是当在SP 2010下使用它时我得到了错误。 有任何想法吗。 感谢
Cannot index into a null array.
At \64284ccd-adc9-4ae4-be4c-0fcd744be7c1.ps1:12 char:19
+ Title = $item[ <<<< "Title"]
+ CategoryInfo : InvalidOperation: (Title:String) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
[System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite("http://mysite/Intranet")
$web = $site.rootweb
$list = $web.Lists["Comms"]
$Responses = @()
foreach ($item in $list.items) {
#$list.Items | foreach {
$obj = New-Object PSObject -Property @{
Title = $item["Title"]
}
$obj |select-object Title
$Responses += $obj
}
Write-Host $Response
答案 0 :(得分:1)
调试PowerShell通常涉及检查中间变量的值。在这种情况下,从错误中可以明显看出$ item为null。这可能意味着$ list.items是$ null。这意味着items属性为null或更有可能$ list为null。你可以检查$ list是否为null:$list -eq $null
。如果为null,请确保$ web变量不为null。如果不是,则枚举像$web.Lists
这样的网络列表,看看是否显示“通信”。