Frage

Ich versuche, ein verwaltetes Metadatenfeld zu aktualisieren, erhalte jedoch die Fehlermeldung „Die Eigenschaft „ListItemCollectionPosition“ kann für dieses Objekt nicht gefunden werden“$spQuery.<<

$site1 = Get-SPSite mysite

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Taxonomy")
$site2 = $site1
$session = New-Object Microsoft.SharePoint.Taxonomy.TaxonomySession($site2)
$termStore = $session.TermStores["Managed Metadata Service"]
$group = $termStore.Groups["mygroup"]
$termSet = $group.TermSets[mytermset"]
$terms = $termSet.GetTerms(100)
$term = $terms | ?{$_.Name -eq "Off"}

$web1 = Get-SPWeb myweb
$list1 = "Board meetings"
$list2 = $web1.Lists[$list1]


if($list2.BaseType -eq "DocumentLibrary")
{ 

 $Count = $List.Folders.Count + $list.Items.Count    
 if($list2.Fields.ContainsField("marking") -eq $true)
 {
   $query = New-Object Microsoft.SharePoint.SPQuery
   $query.ViewAttributes = "Scope='Recursive'";
   $query.RowLimit = 2000
   $caml = '<Where><AND><Neq><FieldRef Name="marking" /><Value Type="Text">Off-S</Value></Neq><Neq><FieldRef Name="marking" /><Value Type="Text">Off-S</Value></Neq></AND></Where>' +

   $query.Query = $caml

  do
  {
   $listItems = $list2.GetItems($query)
   $spQuery.ListItemCollectionPosition = $listItems.ListItemCollectionPosition
   foreach($item in $listItems)
   {
    #Cast to SPListItem to avoid ambiguous overload error
    $spItem = [Microsoft.SharePoint.SPListItem]$item;
    #Get the taxonomy field for the list item
    $taxField = [Microsoft.SharePoint.Taxonomy.TaxonomyField]$spItem.Fields["GPMS marking"]

    $taxField.SetFieldValue($spItem,$term)
    $spItem.SystemUpdate()
   }
  }
   while ($spQuery.ListItemCollectionPosition -ne $null)
 }
}
War es hilfreich?

Lösung

Sie erstellen eine SPQuery Objekt mit Namen $query

$query = New-Object Microsoft.SharePoint.SPQuery

Aber dann benutzen Sie $spQuery.ListItemCollectionPosition.Ändern Sie es in $query.ListItemCollectionPosition Auch ändern while ($spQuery.ListItemCollectionPosition -ne $null) Zu while ($query.ListItemCollectionPosition -ne $null)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top