kwizcom banner advertisement

SharePoint Online: Download a File from Library using PowerShell

Requirement: Download a file from SharePoint Online Library

How to Download File from SharePoint Online Library?
To download file from library, follow these steps:
  • Sign-in to SharePoint Online site >> Navigate to the library where your desired file is located
  • Right click on the file and select "Download" option from the context menu.
    sharepoint online powershell download file
  • This gets you the "Save" prompt and the file gets saved in your client machine's Downloads directory.
  • In Modern Libraries, You can simply select the file(s) or folder and hit "Download" button from the toolbar.
    powershell download file from sharepoint online
Now, How to download a file from SharePoint online using PowerShell?

SharePoint Online PowerShell to Download File from Library
This PowerShell downloads file from SharePoint online document library (or any library!)
#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"

Function Download-FileFromLibrary()
{ 
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $SourceFile,
        [Parameter(Mandatory=$true)] [string] $TargetFile
    )

    Try {
        #Setup Credentials to connect
        $Cred= Get-Credential
        $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials
    
        #Download the file
        $FileInfo = [Microsoft.SharePoint.Client.File]::OpenBinaryDirect($Ctx,$SourceFile)
        $WriteStream = [System.IO.File]::Open($TargetFile,[System.IO.FileMode]::Create)
        $FileInfo.Stream.CopyTo($WriteStream)
        $WriteStream.Close()

        Write-host -f Green "File '$SourceFile' Downloaded to '$TargetFile' Successfully!" $_.Exception.Message
  }
    Catch {
        write-host -f Red "Error Downloading File!" $_.Exception.Message
    }
}

#Set parameter values
$SiteURL="https://crescent.sharepoint.com/sites/sales/"
$SourceFile="/sites/Sales/Shared Documents/Crescent Legal App Requirements.docx"  #Relative URL 
$TargetFile="C:\Temp\LegalDoc.docx"

#Call the function to download file 
Download-FileFromLibrary -SiteURL $SiteURL -SourceFile $SourceFile -TargetFile $TargetFile 
To download all files from a SharePoint Online document library, use this script: SharePoint Online download multiple files using PowerShell
SharePoint Online: Download a File from Library using PowerShell SharePoint Online: Download a File from Library using PowerShell Reviewed by Salaudeen Rajack on September 22, 2016 Rating: 5

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.