Error When Updating Item Using Web Service MoveNext

Using the SharePoint REST service to update items, ran into this error:

Unable to update the sharepoint document – An error occurred while processing this request.System.Data.Services.Client.DataServiceClientException: <?

xml version=”1.0″ …

…..

at System.Data.Services.Client.DataServiceContext.SaveResult.<HandleBatchResponse>d_1e.MoveNext()

The target list was set to require checkout before items could be updated.  Once I set require checkout to No, the REST service was able to update items.

 

Use PowerShell to Update Item Permssions in SharePoint

What if you want to update the item permissions on every item in a list or library, BUT you don’t want to trigger an associated workflow?

Why?

Request came in to add a new SharePoint group to all the items in a library.  Options were to update EVERY item in the library and let the workflow update the permissions. Or, update the items ONE AT A TIME.

OR

Use PowerShell to update item permissions and not stress the server(s).


# add powershell snapin
 $web = Get-SPWeb -Identity "http://sharepointed.com"
$list = $web.Lists.TryGetList("Taco Time")
$group = "Taco Makers"
$PermissionLevel = "Read"

if ($list -ne $null)
{
	foreach ($item in $list.Items)
	{
		if ($item.HasUniqueRoleAssignments -eq $False)
		{
			$item.BreakRoleInheritance($True)
		}
		else
		{
			if ($web.SiteGroups[$group] -ne $null)
			{
				$group = $web.SiteGroups[$group]
				$roleAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($group)
				$roleDefinition = $web.RoleDefinitions[$PermissionLevel];
				$roleAssignment.RoleDefinitionBindings.Add($roleDefinition);
				$item.RoleAssignments.Add($roleAssignment)
			}
			else
			{
				Write-Host "Group is not valid."
			}
		}
	}
}
$web.Dispose()