本文介绍了如何在命令行方式下, 创建自定义列表, 将外部数据导入到列表以及生成视图.

  1. $listname = "contact0422"
  2. $column_text = @(
  3. "LanID"
  4. "显示名"
  5. "拼音姓"
  6. "拼音名"
  7. "员工号"
  8. "公司邮箱"
  9. "公司名称"
  10. "手机号码"
  11. "公司电话"
  12. "部门名称"
  13. "岗位"
  14. "地区"
  15. "直属领导"
  16. "状态"
  17. )
  18. Connect-SPOCSOM -Username 'abc@company.cn' -Password 'your_pwd' -Url 'https://company.sharepoint.cn/IT/'
  19. <# 新建自定义列表 #>
  20. New-SPOList -Title $listname -TemplateType 100
  21. <# 新建text类型的列 #>
  22. $column_text | ForEach {
  23. New-SPOListColumn -ListTitle $listname -FieldDisplayName $_ -FieldType Text
  24. }
  25. <# 插入值 #>
  26. # 通过Get-SPOListColumn -ListTitle $listname -FieldTitle 'LanID'(此处区分大小写)可以查看InternalName
  27. Import-Csv -Path "C:\Users\IT\Desktop\user details template1 - 副本.csv" -Encoding Default | ForEach-Object {
  28. $fields= @(
  29. @{"fieldname"="LanID";"fieldvalue"=$_.Lanid},
  30. @{"fieldname"="_x663e__x793a__x540d_";"fieldvalue"=$_.显示名},
  31. @{"fieldname"="_x62fc__x97f3__x59d3_";"fieldvalue"=$_.拼音姓},
  32. @{"fieldname"="_x62fc__x97f3__x540d_";"fieldvalue"=$_.拼音名},
  33. @{"fieldname"="_x5458__x5de5__x53f7_";"fieldvalue"=$_.员工号},
  34. @{"fieldname"="_x516c__x53f8__x90ae__x7bb1_";"fieldvalue"=$_.公司邮箱},
  35. @{"fieldname"="_x516c__x53f8__x540d__x79f0_";"fieldvalue"=$_.公司名称},
  36. @{"fieldname"="_x624b__x673a__x53f7__x7801_";"fieldvalue"=$_.手机号码},
  37. @{"fieldname"="_x516c__x53f8__x7535__x8bdd_";"fieldvalue"=$_.公司电话},
  38. @{"fieldname"="_x90e8__x95e8__x540d__x79f0_";"fieldvalue"=$_.部门名称},
  39. @{"fieldname"="_x5c97__x4f4d_";"fieldvalue"=$_.岗位},
  40. @{"fieldname"="_x5730__x533a_";"fieldvalue"=$_.地区},
  41. @{"fieldname"="_x76f4__x5c5e__x9886__x5bfc_";"fieldvalue"=$_.直属领导},
  42. @{"fieldname"="_x72b6__x6001_";"fieldvalue"=$_.状态}
  43. )
  44. New-SPOListItem -ListTitle $listname -ItemTitle $_.员工号 -AdditionalMultipleFields $fields
  45. }

2016-4-25更新:

  1. $listname = "contact0425"
  2. Connect-SPOCSOM -Username 'abc@xyz.cn' -Password 'your_pwd' -Url 'https://company.sharepoint.cn/IT/'
  3. $listnames = Get-SPOList
  4. $column_text = @(
  5. "LanID"
  6. "显示名"
  7. "拼音姓"
  8. "拼音名"
  9. "员工号"
  10. "公司邮箱"
  11. "公司名称"
  12. "手机号码"
  13. "公司电话"
  14. "部门名称"
  15. "岗位"
  16. "地区"
  17. "直属领导"
  18. "状态"
  19. )
  20. if ($listname -in $listnames.title) { Write-Host "$listname is already exist in Sharepoint!!!" }
  21. else {
  22. # 新建自定义列表
  23. New-SPOList -Title $listname -TemplateType 100
  24. # 新建text类型的列
  25. $column_text | ForEach {
  26. New-SPOListColumn -ListTitle $listname -FieldDisplayName $_ -FieldType Text
  27. }}
  28. # 通过Get-SPOListColumn -ListTitle $listname -FieldTitle 'LanID'(此处区分大小写)可以查看InternalName
  29. # 由于中文的关系, internalname会被转成utf8编码,所以这里构建title和internalname之间的哈希表
  30. # 避免了类似这样的代码@{"fieldname"="_x663e__x793a__x540d_";"fieldvalue"=$_.显示名}, 增强了可读性
  31. $ht = $column_text | ForEach {
  32. Get-SPOListColumn -ListTitle $listname -FieldTitle $_
  33. } | Select title, internalname | foreach { @{$_.title = $_.internalname} }
  34. # 插入值
  35. Import-Csv -Path "C:\Users\IT\Desktop\user details template1 - 副本.csv" -Encoding Default | ForEach-Object {
  36. # 下面最外层的@()不是哈希表,而是New-SPOListItem的特性
    $fields= @(
  37. @{"fieldname"=$ht.Lanid;"fieldvalue"=$_.Lanid},
  38. @{"fieldname"=$ht.显示名;"fieldvalue"=$_.显示名},
  39. @{"fieldname"=$ht.拼音姓;"fieldvalue"=$_.拼音姓},
  40. @{"fieldname"=$ht.拼音名;"fieldvalue"=$_.拼音名},
  41. @{"fieldname"=$ht.员工号;"fieldvalue"=$_.员工号},
  42. @{"fieldname"=$ht.公司邮箱;"fieldvalue"=$_.公司邮箱},
  43. @{"fieldname"=$ht.公司名称;"fieldvalue"=$_.公司名称},
  44. @{"fieldname"=$ht.手机号码;"fieldvalue"=$_.手机号码},
  45. @{"fieldname"=$ht.公司电话;"fieldvalue"=$_.公司电话},
  46. @{"fieldname"=$ht.部门名称;"fieldvalue"=$_.部门名称},
  47. @{"fieldname"=$ht.岗位;"fieldvalue"=$_.岗位},
  48. @{"fieldname"=$ht.地区;"fieldvalue"=$_.地区},
  49. @{"fieldname"=$ht.直属领导;"fieldvalue"=$_.直属领导},
  50. @{"fieldname"=$ht.状态;"fieldvalue"=$_.状态}
  51. )
  52. New-SPOListItem -ListTitle $listname -ItemTitle $_.员工号 -AdditionalMultipleFields $fields
  53. }

创建视图:

  1. $listname = "contact0412"
  2. Connect-SPOCSOM -Username 'your_id' -Password 'your_pwd' -Url 'https://company.sharepoint.cn/IT/'
  3. $view1_fields=@(
  4. "工号"
  5. "姓名"
  6. "籍贯城市"
  7. )
  8. New-SPOListView -ListName $listname -ViewName "view_1" -ViewFields $view1_fields

使用PowerShell向SharePoint中写入数据的更多相关文章

  1. 向post请求中写入数据,最终保存在了HttpWebRequest.Params中

    一.向post请求中写入数据,最终保存在了HttpWebRequest.Params中: 1)如果存入的是IDictionary类型的字符串变量,如:“username=administrator”, ...

  2. PHP连接sqlserver的两种方法,向sqlserver2000中写入数据,中文乱码

    项目环境是php5.3.28 项目用的ThinkPHP3.2.3  已经mysql5.5数据库,要和另一个项目对接,需要连接sqlsever2000数据库进行一些操作. 第一种用php自带扩展连接数据 ...

  3. 通过I2C总线向EEPROM中写入数据,记录开机次数

    没买板子之前,用protues画过电路图,实现了通过i2c总线向EEPROM中写入和读出数据. 今天,在自己买的板子上面写关于i2c总线的程序,有个地方忘了延时,调程序的时候很蛋疼.下面说说我对I2c ...

  4. 【转】从QDataStream向QByteArray中写入数据时的注意点(QT)

    最近发现从QDataStream向QByteArray中写入数据常常是写不进去的,通过查看QT的源码: QDataStream &operator>>(QDataStream &a ...

  5. POI往word模板中写入数据

    转: POI往word模板中写入数据 2018年03月24日 16:00:22 乄阿斗同學 阅读数:2977  版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  6. Verilog利用$fdisplay命令往文件中写入数据

    最近在做的事情是,用FPGA生成一些满足特定分布的序列.因此为了验证我生成的序列是否拥有预期的性质,我需要将生成的数据提取出来并且放到MATLAB中做数据分析. 但是网上的程序很乱,表示看不懂==其实 ...

  7. 复制excel表,往excel表中写入数据

    import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...

  8. POI向Excel中写入数据及追加数据

    import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import ...

  9. 计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

    //给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕.主函数中源文件名放在变量sfname中,目标文件名放在变量 ...

随机推荐

  1. 《DSP using MATLAB》示例Example4.5

    代码: x1 = [1, 2, 3]; x2 = [2, 4, 3, 5]; % x1 x2 sequences % n1 = 0:1:2; n2 = 0:1:3; n1 = -1:1:1; n2 = ...

  2. css整理-03 文本

    缩进和水平对齐 缩进文本:text-indent 可以设置为负值 可以为所有块级元素应用,但无法应用到行内元素,图像之类的替换元素: 水平对齐: text-align left,center,righ ...

  3. HTTP基础10--web(2)

    因输出值转义不完全引发的安全漏洞 实施 Web 应用的安全对策可大致分为以下两部分. 客户端的验证 Web 应用端(服务器端)的验证: 输入值验证 / 输出值转义 客户端允许篡改数据或关闭 JavaS ...

  4. #include<>与#include""

    对于头文件的包含,使用“<>”时,系统会到默认目录(编译器及环境变量,工程文件定义的头文件寻找目录,包括Qt安装的include目录)查找要包含的文件,这是标准方式: 用双引号时,系统先到 ...

  5. Regionals 2012 :: Chengdu

    题目连接 排行榜 A和I都是签到题 按位BFS K Yet Another Multiple Problem 题意:给一些可以用的数字,求最小的数,它由特定的数字组成且是n的倍数 分析:暴力枚举不可行 ...

  6. C#调用本机摄像头

    这段时间一个小项目中需要调用本机的摄像头进行拍照,网上搜集了一些资料以及解决的一些小问题,在此记录以便后续使用. 硬件环境:联想C360一体机,自带摄像头 编写环境:vs2010 语言:C# WPF ...

  7. POJ2472106 miles to Chicago

    106 miles to Chicago Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3931   Accepted: 1 ...

  8. git的合并与推送

    集中式合作模式 1.git fetch 获取远程更新 2.git merge origin/master 进行合并,如果报错,则相应解决.注:你得用git bash命令行执行才能看见报错详情,用ecl ...

  9. ccc animation

    cc.Class({ extends: cc.Component, properties: { sheepAnim: { default: null, type: cc.Animation } }, ...

  10. 元件供应商泄露情报,微软或在研发HoloLens二代

    众所周知,微软HoloLens全息影像头盔在2015年1月22日推出,到目前为止将近两年时间,那微软会何时推出新版Hololen呢?对此,591ARVR资讯网www.591arvr.com小编特别关注 ...