zoukankan      html  css  js  c++  java
  • SharePoint自动化系列——Set MMS field value using PowerShell.

    转载请注明出自天外归云的博客园: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的赋值方法,欢迎大家提问与交流。

  • 相关阅读:
    作业九 主成分分析
    作业八 特征选择
    作业七 逻辑回归应用
    作业六 逻辑回归
    作业五 线性回归算法
    第十四次作业:手写数字识别-小数据集
    第十三次作业:深度学习-卷积
    第七次作业:7.逻辑回归实践
    第十二次作业:垃圾邮件分类2
    第十一次作业:朴素贝叶斯-垃圾邮件分类
  • 原文地址:https://www.cnblogs.com/LanTianYou/p/4632818.html
Copyright © 2011-2022 走看看