This is part 7 of 10 where we will be creating a new document library in SharePoint Online. This is part of the following series:
We will be collecting all available web templates in part 1 so we can use this to create a new site in part 2. In part 3 we will be creating a web for the newly created site. We then want to create a couple of site columns in part 4 which we will combine to a content type in part 5. This content type will be added (part 8) to our newly created document library in part 7 using a list template from part 6. After everything is set we will be setting the view in part 9 for this list to show the added columns we got from adding the content type. We only want to set permissions for myself so I’ll will be breaking the inheritance and setting permissions in part 10.
- Part 1: Get SharePoint Online web templates with PowerShell
- Part 2: Create new site in SharePoint Online with PowerShell
- Part 3: Create new web in SharePoint Online with PowerShell
- Part 4: Create new site columns in SharePoint Online with PowerShell
- Part 5: Create new content type in SharePoint Online with PowerShell
- Part 6: Get SharePoint Online list templates with PowerShell
- Part 7: Create new document library in SharePoint Online with PowerShell
- Part 8: Add content type to a SharePoint Online list with PowerShell
- Part 9: Create new view for a list in SharePoint Online with PowerShell
- Part 10: Set custom permissions for a site in SharePoint Online with PowerShell
Create new document library in SharePoint Online
This script will create a new document library in SharePoint Online using where we will using a list template from part 6. We will first start by opening the SharePoint Online Management Shell as administrator which can be downloaded at https://www.microsoft.com/en-us/download/details.aspx?id=35588.
You will need to change the first variables to match your Office 365 tenant and copy this bit to PowerShell.
function new-SPOnlineList { #variables that needs to be set before starting the script $siteURL = "https://spfire.sharepoint.com/sites/BlogDemo" $adminUrl = "https://spfire-admin.sharepoint.com" $userName = "mpadmin@spfire.onmicrosoft.com" $listTitle = "Finance" $listDescription = "Finance documents" $listTemplate = 101 # Let the user fill in their password in the PowerShell window $password = Read-Host "Please enter the password for $($userName)" -AsSecureString # set SharePoint Online credentials $SPOCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($userName, $password) # Creating client context object $context = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL) $context.credentials = $SPOCredentials #create list using ListCreationInformation object (lci) $lci = New-Object Microsoft.SharePoint.Client.ListCreationInformation $lci.title = $listTitle $lci.description = $listDescription $lci.TemplateType = $listTemplate $list = $context.web.lists.add($lci) $context.load($list) #send the request containing all operations to the server try{ $context.executeQuery() write-host "info: Created $($listTitle)" -foregroundcolor green } catch{ write-host "info: $($_.Exception.Message)" -foregroundcolor red } } new-SPOnlineList
You will be asked to enter the password and press enter
The list / library has been created in SharePoint Online so we can navigate to the web and verify if the creation was succesfull
Tips
You can find more properties for the ListCreationInformation class at https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.client.listcreationinformation_members.aspx.