Невозможно индексировать в нулевой массив. Ошибка с Sharepoint 2010 - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь использовать приведенный ниже скрипт, чтобы получить некоторые данные из списка. Я использую его для моего 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

1 Ответ

1 голос
/ 24 января 2012

Отладка PowerShell обычно включает проверку значений промежуточных переменных.В этом случае из ошибки очевидно, что $ item равен нулю.Это, вероятно, означает, что $ list.items равен $ null.Это означает, что либо свойство items имеет значение null, либо более вероятно, что $ list равно nullВы можете проверить, равен ли $ list нулю так: $list -eq $null.Если значение равно нулю, убедитесь, что переменная $ web не равна нулю.Если это не так, перечислите веб-списки, например, $web.Lists, чтобы увидеть, появляется ли «Comms».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...