ค้นหาเว็บไซต์

วิธีคัดลอกรายการ SharePoint โดยใช้ PowerShell


ข้อกำหนด: คัดลอกรายการ SharePoint ไปยังรายการอื่น

จะคัดลอกรายการใน SharePoint ได้อย่างไร

คุณจำเป็นต้องทำสำเนาของรายการ SharePoint หรือไม่ บางทีคุณอาจต้องการสำรองข้อมูลในรายการหรือสร้างรายการใหม่ด้วยชุดคอลัมน์และการตั้งค่าเดียวกันกับรายการที่มีอยู่! ไม่ว่าในกรณีใด การใช้ PowerShell เป็นวิธีที่เร็วและง่ายที่สุดในการทำ บทความนี้จะแสดงวิธีการคัดลอกรายการ SharePoint โดยใช้ PowerShell

แม้ว่าการส่งออก-นำเข้าจะเป็นตัวเลือก คุณสามารถบันทึกรายการโดยมีหรือไม่มีเนื้อหาเป็นเทมเพลต และสร้างรายการหรือไลบรารีใหม่จำนวนเท่าใดก็ได้จากเทมเพลตรายการ ไปที่การตั้งค่ารายการ บันทึกรายการเป็นเทมเพลต จากนั้นสร้างรายการใหม่และเลือกเทมเพลตรายการ!

PowerShell เพื่อโคลนรายการใน SharePoint

นี่คือ PowerShell เพื่อคัดลอกโครงสร้างรายการ SharePoint โดยใช้วิธี "บันทึกรายการเป็นเทมเพลต" และ "สร้างรายการจากเทมเพลต":


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Parameters
$SiteURL="https://intranet.crescent.com"
$ListName="Projects"
$NewListName = "Projects Archive"
$SaveData= $False

Try {
    #Get the web and List
    $Web = Get-SPWeb $SiteURL
    $List = $Web.Lists[$ListName]

    #Check if the new list doesn't exists
    If($Web.Lists.TryGetList($NewListName) -eq $null)
    {
        #Save list as template
        $List.SaveAsTemplate($List.ID.ToString(), $List.ID.ToString(), [string]::Empty, $SaveData)

        #Get the List template
        $ListTemplate = $web.Site.GetCustomListTemplates($web)[$List.ID.ToString()]

        #Clone list
        $NewList = $web.Lists.Add($NewListName, "$($NewListName)-$($List.Description)", $ListTemplate)

        #Remove the List template file Created
        $ListTemplateFile = $web.Site.RootWeb.GetFolder("_catalogs/lt").Files | where {$_.Name -eq $ListTemplate.InternalName}
        $ListTemplateFile.Delete()

        write-host -f Green "List '$ListName' Cloned to '$NewListName!'"
    }
    Else
    {
        write-host -f Yellow "List '$NewListName' already exists!"
    }

}
Catch {
    write-host -f Red "Error Adding Template to Document Library!" $_.Exception.Message
} 

คุณสามารถใช้สคริปต์นี้เพื่อทำซ้ำรายการ SharePoint ด้วยเนื้อหาหรือเพียงโครงสร้างรายการ คุณสามารถตั้งค่าสถานะ $SaveData เป็น $True เพื่อรวมเนื้อหาของรายการได้ เมื่อต้องการคัดลอกรายการใน SharePoint Online: จะคัดลอกรายการใน SharePoint Online ได้อย่างไร

บทความที่เกี่ยวข้อง