spodownload.ps1
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
$pass = convertto-securestring "password" -AsPlainText -Force
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials("userAccount", $pass)
$cookieValue = $credentials.GetAuthenticationCookie("https://xxxxxxx.sharepoint.com/sites/site/")
$cookieValue = $cookieValue.Replace("SPOIDCRL=","")
$cookie = New-Object System.Net.Cookie
$cookie.Name = "SPOIDCRL"
$cookie.Value = $cookieValue
$cookieContainer = New-Object System.net.CookieContainer
$cookieContainer.Add("https://xxxxxxx.sharepoint.com/sites/site/",$cookie)
$request = [System.Net.WebRequest]::Create("https://xxxxxxx.sharepoint.com/sites/site/Shared%20Documents/test.xlsx")
$request.CookieContainer = $cookieContainer
$response = $request.GetResponse()
$responseStream = $response.GetResponseStream()
$outputFile = [System.IO.File]::Create("C:\work\test.xlsx")
$Buffer = New-Object Byte[] 1024
Do {
$BytesRead = $responseStream.Read($Buffer, 0, $Buffer.Length)
$outputFile.Write($Buffer, 0, $BytesRead)
} While ($BytesRead -gt 0)
$responseStream.Close()
$responseStream.Dispose()
$outputFile.Flush()
$outputFile.Close()
$outputFile.Dispose()