使用ListData.svc和PowerShell更新SharePoint列表条目

克雷格

有没有一种方法可以在使用SharePoint客户端的情况下使用PowerShell更新SharePoint 2010列表条目如果是这样,怎么办?

为了获得所需的字段,我将:

$url = 'http://myserver/resource/_vti_bin/ListData.svc/TheList(1234)?$select=Id,Title,StartingDate,Hours'

$webRequest = Invoke-WebRequest -Uri $url -Method Get -UseDefaultCredentials
[xml]$xml = $webRequest.Content

$properties = $xml.feed.entry.content.properties
$properties | Format-Table -Property Id,Title,StartingDate,EndingDate,Hours

我想修改EndingDateHours字段。

瓦迪姆·格雷米亚切夫(Vadim Gremyachev)

下面的示例演示如何使用SharePoint REST接口更新列表项

<#
.Synopsis
    Update Lst Item
.DESCRIPTION
    Updates List Item operation using SharePoint 2010 REST Interface.
    To  update an existing entity, you must perform the following actions:
      - Create an HTTP request using the POST verb.
      - Add an X-HTTP-Method header with a value of MERGE.
      - Use the service URL of the list item you want to update as the target for the POST
      - Add an If-Match header with a value of the entity’s original ETag.
    Follow http://blog.vgrem.com/2014/03/22/list-items-manipulation-via-rest-api-in-sharepoint-2010/ for a more details
.EXAMPLE
   Update-ListItem -WebUrl "http://contoso.intranet.com" -ListName "Tasks" -ItemId 1 -Properties $ItemProperties
#>
Function Update-ListItem()
{
Param(
  [Parameter(Mandatory=$True)]
  [string]$WebUrl,
  [Parameter(Mandatory=$True)]
  [string]$ListName,
  [Parameter(Mandatory=$True)]
  [int]$ItemId, 
  [Parameter(Mandatory=$True)]
  [Hashtable]$Properties
)

    #construct endpoint for updaing of List Item   
    $endpointUrl = "$WebUrl/_vti_bin/listdata.svc/$ListName($ItemId)"

    $headers = @{
       "X-HTTP-Method" = "MERGE";
       "If-Match" = "*"
    }

    $ItemPayload = $Properties | ConvertTo-Json

    Invoke-WebRequest -Uri $endpointUrl -Method Post -UseDefaultCredentials -Headers $headers -ContentType "application/json" -Body $ItemPayload
}

用法

#Update Task list item
$ItemProperties = @{  
       Title = "Approval Task"; 
       StartDate = "2014-04-24T00:00:00"}
Update-ListItem -WebUrl "http://contoso.intranet.com" -ListName "Tasks" -ItemId 1 -Properties $ItemProperties

作为替代方案,您还可以使用Invoke-RestMethod代替Invoke-WebRequest,例如:

Invoke-RestMethod -Uri $EndpointUrl -Method Post -UseDefaultCredentials -Headers $headers -ContentType "application/json" -Body $ItemPayload

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ListData.svc和PowerShell更新SharePoint列表条目

来自分类Dev

Sharepoint 2010 中与 ListData.svc 一起使用的列表名称规则

来自分类Dev

使用jQuery阅读和更新SharePoint列表

来自分类Dev

Powershell 和 Sharepoint - 更新列表

来自分类Dev

Yii radioButtonList具有listData和html数据属性

来自分类Dev

Visual Studio 2013 C#WCF Web服务_vti_bin / ListData.svc / $ metadata

来自分类Dev

在yii下拉列表中输出时在CHtml :: listData中合并2个字段

来自分类Dev

Yii chtml:listData来自1个键和2个值的数据库

来自分类Dev

在SharePoint中使用PowerShell从文档库中获取项目列表

来自分类Dev

CHtml::listData() issue

来自分类Dev

CHtml :: listData()问题

来自分类Dev

使用 powershell 更新 Sharepoint wiki 页面的 aspx

来自分类Dev

使用JavaScript和REST从SharePoint列表中删除项目

来自分类Dev

在循环中附加到 ListData[]

来自分类Dev

使用NTLM更新Sharepoint

来自分类Dev

使用列表比较和更新CSV文件

来自分类Dev

如何使用Powershell在Sharepoint 2013中的默认列列表中选中复选框?

来自分类Dev

如何使用pnp powershell获取SharePoint联机列表中最后修改的项目的项目ID?

来自分类Dev

如何使用 powershell 脚本获取 SharePoint 网站的可用语言列表?

来自分类Dev

使用Rest更新SharePoint列表中的文本字段将返回错误代码400

来自分类Dev

使用 Rest API 调用执行批量更新/插入 SharePoint 列表项的 C# 代码

来自分类Dev

使用 powershell 安装 Sharepoint 2016

来自分类Dev

使用PHP更新MySQL条目

来自分类Dev

为列表中的每个条目使用Javascript和Jquery动态创建表

来自分类Dev

使用PowerShell和OData API将文件上传到SharePoint 2010

来自分类Dev

使用Powershell和TaskManager在Sharepoint中设置多用户字段

来自分类Dev

使用PowerShell脚本和CSOM在SharePoint Online中设置网站徽标

来自分类Dev

使用PowerShell脚本和CSOM在SharePoint Online中设置网站徽标

来自分类Dev

如何使用 PnP-PowerShell 获取 SharePoint 网站集和子网站的创建日期

Related 相关文章

  1. 1

    使用ListData.svc和PowerShell更新SharePoint列表条目

  2. 2

    Sharepoint 2010 中与 ListData.svc 一起使用的列表名称规则

  3. 3

    使用jQuery阅读和更新SharePoint列表

  4. 4

    Powershell 和 Sharepoint - 更新列表

  5. 5

    Yii radioButtonList具有listData和html数据属性

  6. 6

    Visual Studio 2013 C#WCF Web服务_vti_bin / ListData.svc / $ metadata

  7. 7

    在yii下拉列表中输出时在CHtml :: listData中合并2个字段

  8. 8

    Yii chtml:listData来自1个键和2个值的数据库

  9. 9

    在SharePoint中使用PowerShell从文档库中获取项目列表

  10. 10

    CHtml::listData() issue

  11. 11

    CHtml :: listData()问题

  12. 12

    使用 powershell 更新 Sharepoint wiki 页面的 aspx

  13. 13

    使用JavaScript和REST从SharePoint列表中删除项目

  14. 14

    在循环中附加到 ListData[]

  15. 15

    使用NTLM更新Sharepoint

  16. 16

    使用列表比较和更新CSV文件

  17. 17

    如何使用Powershell在Sharepoint 2013中的默认列列表中选中复选框?

  18. 18

    如何使用pnp powershell获取SharePoint联机列表中最后修改的项目的项目ID?

  19. 19

    如何使用 powershell 脚本获取 SharePoint 网站的可用语言列表?

  20. 20

    使用Rest更新SharePoint列表中的文本字段将返回错误代码400

  21. 21

    使用 Rest API 调用执行批量更新/插入 SharePoint 列表项的 C# 代码

  22. 22

    使用 powershell 安装 Sharepoint 2016

  23. 23

    使用PHP更新MySQL条目

  24. 24

    为列表中的每个条目使用Javascript和Jquery动态创建表

  25. 25

    使用PowerShell和OData API将文件上传到SharePoint 2010

  26. 26

    使用Powershell和TaskManager在Sharepoint中设置多用户字段

  27. 27

    使用PowerShell脚本和CSOM在SharePoint Online中设置网站徽标

  28. 28

    使用PowerShell脚本和CSOM在SharePoint Online中设置网站徽标

  29. 29

    如何使用 PnP-PowerShell 获取 SharePoint 网站集和子网站的创建日期

热门标签

归档