Create Libraries/Folders/Documents in SharePoint Online using PowerShell PnP

Today, we’ll look at creating documents libraries & folders, then upload documents into those folders using PowerShell PnP.

For more info about the Practices & Patterns (PnP), refer to the official documentation, and/or download the modules from hard workers in GitHub – SharePoint PowerShell PnP.


Connect to the SPO Site Collection

First things first, let’s connect to the SharePoint site collection where we want to create our document library.

Connect-PnPOnline -Url https://<TenantName> -Credential (Get-credential)
Connect to the “PnPtest” site collection


Create a new document library

Now that we’re logged into the site collection, let’s create our document library.

New-PnPList -Title "PnP Library" -Template DocumentLibrary -OnQuickLaunch

We’ve got more parameters if we want (i.e.: Enable versioning, enable content types, etc…). Just try them out with what you need.
If you use the PowerShell ISE with Intellisense, you’ll see a list of templates showing up to help you!

Create new document library
PnP library in SPO

If you wish to verify the document library is there, use the Get-PnPList cmdlet.


Create a folder in “PnP Library”

Going down in the hierarchy, let’s create a folder in that new “PnP Library“.
The parameter “-Folder” refers to the relative URL.

Add-PnPFolder -Name "PnP Folder1" -Folder "/PnP Library"
Folder added

Let’s verify the folder is there with PowerShell with the Get-PnPListItem cmdlet.

Get-PnPListItem -List "/PnP Library/PnP Folder1"
Folder created


Upload documents to the folder

Last but not least, uploading documents to the “PnP Folder1

Add-PnPFile -Folder "/PnP Library/PnP Folder1" -Path 'C:\Users\$env:USERNAME\Desktop\TestPnP.docx'
Confirmation via PowerShell


Document uploaded successfully


And for fun… Let’s upload another one…

Another success!


There you have it!