SharePoint自动化系列——Set MMS field value using PowerShell.
2015-07-09 12:40
756 查看
转载请注明出自天外归云的博客园: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,所以在使用的过程中可以将该结果存储到你所需要保存到的变量中,使用方法如下(引号中是需要你去填写的数据):
在PowerShell中运行的结果如下,我们可以看到,相应的terms都已经保存到我们的变量$terms中:
接下来,就是将获取到的terms的值赋予到SharePoint list item相应field的过程(与正常的赋值过程不同):
以后陆续我还会总结一些其他类型field的赋值方法,欢迎大家提问与交流。
本章将总结一下设置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的赋值方法,欢迎大家提问与交流。
相关文章推荐
- windows下使用xShell向远程linux上传文件
- bash 快捷键
- linux shell中 if else以及大于、小于、等于逻辑表达式介绍
- 70个shell常用操作、 shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- 数据库定期备份shell
- Android执行shell命令(top查看CPU信息)
- shell 监控磁盘使用率
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- 如何编写shell脚本
- shell 脚本的执行
- Xshell使用技巧(二)
- Shell时间运算及时间差计算方法
- Shell中创建序列和数组(list、array)的方法
- Shell动态生成数组的多种方法
- Shell动态生成数组的多种方法
- Shell中创建序列和数组(list、array)的方法
- Shell时间运算及时间差计算方法
- hadoop shell命令介绍
- 《Linux shell脚本攻略》学习笔记
- 使用inotify实现实时文件同步的shell脚本