转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/
PowerShell是基于.NET的一门脚本语言,对于SharePoint一些日常操作支持的很好。今天上午同事做数据量测试,要在一个site下创建500个list和500个library,在一个list中创建1000个item,这样的需求通过PowerShell脚本实现是非常容易的。
下面是为这项测试写的两个小
Add-PSSnapin Microsoft.SharePoint.PowerShell
//在list中创建1000个item
function CreateListData
{
param($siteUrl,$listTitle)
$site = Get-SPSite $siteUrl
$web = $site.rootweb
$List = $web.lists[$listTitle]
for($i=;$i -le ;$i++){
$date = Get-Date
$random = Get-Random
$sign = $date.month+$date.day+$date.hour+$date.minute+$date.second+$random
$newItem = $List.Items.Add()
$newItem["Title"] = $random.ToString() + $sign.ToString() + $List.Title + "TestData"
$newItem.Update()
}
}
//删除指定list中数据
function DeleteListData
{
param($siteUrl,$listTitle)
$site = Get-SPSite $siteUrl
$web = $site.rootweb
$List = $web.lists[$listTitle]
foreach($item in $list.items)
{
$List.getitembyid($item.id).delete()
}
}
//创建list和library各500个
function CreateLibsAndLists
{
param($siteUrl)
$site = Get-SPSite $siteUrl
$web = $site.rootweb
for($i=;$i -le ;$i++)
{
$web.Lists.Add("TestDocLib"+$i,"",$web.ListTemplates["Document Library"])
}
for($i=;$i -le ;$i++)
{
$web.Lists.Add("TestCusList"+$i,"",$web.ListTemplates["Custom List"])
}
}
管理员权限运行PowerShell后,复制上述脚本在PowerShell窗口内点右键粘贴进去,按回车,然后执行下述的命令就可以实现批量做数据的需求了:
//删除list数据命令
DeleteListData -siteUrl "Your site's Url" -listTitle "Your list's title"
//创建list item命令
CreateListData -siteUrl "Your site's Url" -listTitle "Your list's title"
//创建list和library命令
CreateLibsAndLists