SharePoint自動化系列——經過PowerShell在SharePoint中批量作數據

轉載請註明出自天外歸雲的博客園web

PowerShell是基於.NET的一門腳本語言,對於SharePoint一些平常操做支持的很好。今天上午同事作數據量測試,要在一個site下建立500個list和500個library,在一個list中建立1000個item,這樣的需求經過PowerShell腳本實現是很是容易的。api

下面是爲這項測試寫的兩個小dom

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窗口內點右鍵粘貼進去,按回車,而後執行下述的命令就能夠實現批量作數據的需求了:ide

//刪除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
相關文章
相關標籤/搜索