SharePoint自动化系列——Set MMS field value using PowerShell.

简介: 转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 本章将总结一下设置SharePoint list中item的Managed Metadata field value的方法。

转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/

本章将总结一下设置SharePoint list中item的Managed Metadata field value的方法。

以下函数是我封装好的可以直接用来获取相应Managed Metadata类型field的terms value:

Add-PSSnapin Microsoft.SharePoint.PowerShell
function GetFieldTerms
{
  param($siteUrl,$listTitle,$fieldName)
  $site = Get-SPSite $siteUrl
  $web = $site.rootweb
  $List = $web.lists[$listTitle]
  $MMSField = $List.Fields[$fieldName]
  $MMSFieldtsId = $MMSField.TermSetId
  $MMSFieldtermStoreId = $MMSField.SspId
  $MMSFieldtsession = Get-SPTaxonomySession -Site $site
  $MMSFieldtstore = $MMSFieldtsession.TermStores[$MMSFieldtermStoreId]
  $MMSFieldtset = $MMSFieldtstore.GetTermSet($MMSFieldtsId)
  $terms = $MMSFieldtset.terms
  $terms
}

该函数的返回值为$terms,所以在使用的过程中可以将该结果存储到你所需要保存到的变量中,使用方法如下(引号中是需要你去填写的数据):

$terms = GetFieldTerms -siteUrl "" -listTitle "" -fieldName ""

在PowerShell中运行的结果如下,我们可以看到,相应的terms都已经保存到我们的变量$terms中:

接下来,就是将获取到的terms的值赋予到SharePoint list item相应field的过程(与正常的赋值过程不同):

#正常field的赋值方法:
$Item["fieldName"] = $value
#MMS类型field的赋值方法($index为$terms数组变量中相应位置的索引): $list.fields[
"fieldName"].SetFieldValue($Item,terms[$index])

以后陆续我还会总结一些其他类型field的赋值方法,欢迎大家提问与交流。

相关文章
|
19天前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
33 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
4月前
|
Java 应用服务中间件 nginx
【Azure 环境】Azure应用程序网关设置set_Cookie=key=value; SameSite=Strict; HTTPOnly,AzureAD登录使用cookie时使用不了的案例记录
【Azure 环境】Azure应用程序网关设置set_Cookie=key=value; SameSite=Strict; HTTPOnly,AzureAD登录使用cookie时使用不了的案例记录
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
36 0
|
5月前
|
数据处理 Python
【Python】已解决:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFram
【Python】已解决:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFram
662 1
content‘ is declared but its value is never read.富文本编辑器中这里必须的script中添加setup,引入到set当中时,带title的富文本写法
content‘ is declared but its value is never read.富文本编辑器中这里必须的script中添加setup,引入到set当中时,带title的富文本写法
|
6月前
|
缓存 NoSQL 关系型数据库
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
|
7月前
What value should kernel parameter AIO-MAX-NR be set to ?
What value should kernel parameter AIO-MAX-NR be set to ?
65 0
|
JavaScript API
【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined
【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined
380 0
|
消息中间件 Kafka
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of
这个问题是gradle的build版本问题,我是在build kafka的老版本时报的错,这个问题我查了一遍网上的内容,发现很多博客忽略了IDEA settings关于gradle的build的一个配置。
508 0
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of
debian samba出错:set_variable_helper(yes ): value is not boolean!
debian samba出错:set_variable_helper(yes ): value is not boolean!
192 0