SharePoint Online: Change List or Library URL using PowerShell

Requirement: Change URL of a List or Document Library in SharePoint Online using PowerShell.

How to Change the List URL in SharePoint Online?
Renaming a list doesn't change its URL! However, To change the URL of a List or Library in SharePoint Online we can use: File Explorer View, SharePoint Designer or PowerShell! To change the URL of a document library using Explore view:
  • Open the Document Library in "File Explore View"
  • Navigate One Level Up in the Explorer >> Select the Document Library to Rename
  • Press "F2" (or Right Click and choose "Rename") >> Enter the new Name for your document library >> Hit "Enter"
    SharePoint Online Change List URL using PowerShell

Using Explore View and SharePoint Designer to change the URL of a SharePoint list is explained in my another post for SharePoint On-Premises is applicable for SharePoint Online as well: How to Change URL of a List or Document Library in SharePoint?. So Here, lets change list URL in SharePoint Online with PowerShell.

SharePoint Online: Change List URL using PowerShell
Let's change the URL of a SharePoint Online document library from "Project%20Documentation" to "ProjectDocs" using PowerShell. 
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
   
#Config Parameters
$SiteURL= "https://crescent.sharepoint.com"
$ListName="Project Documentation"
$NewListURL="ProjectDocs"

#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Cred
   
    #Get the List
    $List=$Ctx.web.Lists.GetByTitle($ListName)
    $Ctx.Load($List)

    #sharepoint online change library url powershell   
    $List.Rootfolder.MoveTo($NewListURL)
    $List.Title=$ListName #Keep the List name as is
    $Ctx.ExecuteQuery()

    Write-host -f Green "List URL has been changed!"
}
Catch {
    write-host -f Red "Error changing List URL!" $_.Exception.Message
}

This changes the URL of the given list or document library!
SharePoint Online: Change List or Library URL using PowerShell SharePoint Online: Change List or Library URL using PowerShell Reviewed by Salaudeen Rajack on September 29, 2017 Rating: 5

1 comment:

  1. Man, you saved me hours of work! I had migrated a 50+ GB and 95.000 documents document library with a fixed URL (had removed blank spaces), but the original one was needed.
    Your script ended after timing out, but the doclib's URL was successfully changed.
    Thank you very much.

    ReplyDelete

Please Login and comment to get your questions answered!

Powered by Blogger.