SharePoint自动化系列——通过PowerShell在SharePoint中批量做数据

转载请注明出自天外归云的博客园: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=1;$i -le 1000;$i++){
        $date = Get-Date
        $random = Get-Random 100
        $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=1;$i -le 500;$i++)
    {    
        $web.Lists.Add("TestDocLib"+$i,"",$web.ListTemplates["Document Library"])
    }
    for($i=1;$i -le 500;$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

 

posted @ 2015-06-12 17:01  天外归云  阅读(835)  评论(0编辑  收藏  举报