I am trying to run a powershell script on my sharepoint 2013 server which will access our sharepoint online environment using CSOM, but whenever I try I get "error (403) Forbidden" Below is a sample of the code I am running. This same code will work properly when run from my workstation, and also when run from another non-sharepoint server. This makes me think that it must be related to maybe some kind of collision with the existing sharepoint dlls that are loaded on the sharepoint server?

add-type -Path "C:\admintools\spOnlineDLLs\Microsoft.SharePoint.Client.dll" 
add-type -Path "C:\admintools\spOnlineDLLs\Microsoft.SharePoint.Client.Runtime.dll"
$SiteUrl = "https://companyname.sharepoint.com/sites/mySPSite"
$ListName = "testList"
$UserName = "my.email@companyname.com"
$SecurePassword = convertto-securestring -string "P@ssw0rd" -AsPlainText -force

$ClientContext = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
$ClientContext.Credentials = $credentials

# Get List and List Items
$List = $ClientContext.Web.Lists.GetByTitle($ListName)
$ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())

I get the same error if I replace the two add-type lines with the following:


I can't figure out what the problem is - any suggestions are appreciated. Thanks

  • Can you access the site from the server via that url using the browser? If not, it sounds like a loopback check issue... nikpatel.net/2013/09/05/… – Derek Gusoff Nov 10 '17 at 20:00
  • I can access the site from the server with the behavior. I can even use the pnp powershell commands from the server to access the site, but I need to use CSOM. – JohnJ Nov 13 '17 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.