I created an external content type in SharePoint 2013 and now I’m trying to read the data from my external list using PowerShell. I am  connecting to a SQL Server Database and I am getting the following error:

An error occurred while enumerating through a collection: The shim execution failed unexpectedly – Could not load file or assembly ‘System.Data.OracleClient, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089′ or one of its dependencies. Either a required impersonation level was not
provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0x80070542)..

Something isn’t right here.

So first I’m loading the SharePoint addins

function Load_SPAddin()

{

$ver = $host | select version

if ($ver.Version.Major -gt 1) {$host.Runspace.ThreadOptions = “ReuseThread”}

if ((Get-PSSnapin “Microsoft.SharePoint.PowerShell” -ErrorAction SilentlyContinue) -eq $null)

{

Add-PSSnapin “Microsoft.SharePoint.PowerShell”

}
}

Load_SPAddin

Then I’m loading the web, the list and the items

$siteUrl = …
$web = Get-SPWeb $siteUrl
$UserList = $web.Lists[“External Users”]

Write-Host “The user list contains” $UserList.Items.Count “items”

$eitems = $UserList.GetItems()

The above getItems gives me the above error. until…. I run my PowerShell as Administrator and things are starting to work.

Then I’m walking through all the items

foreach ($eitem in $eitems)
{
… some code here …
}

And I’m getting another error:

Exception calling “GetItemById” with “1” argument(s): “The shim execution failed unexpectedly – Proxy
creation failed. Default context not found..”

All I have to add to the script before loading the web are the following 2 lines: :

$ctx = Get-SPServiceContext $siteUrl
$scope = new-object Microsoft.SharePoint.SPServiceContextScope $ctx

And my items are read in without any problem.

Avatar for Pieter Veenstra

By Pieter Veenstra

Business Applications Microsoft MVP working as the Head of Power Platform at Vantage 365. You can contact me using contact@sharepains.com

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains by Microsoft MVP Pieter Veenstra

Subscribe now to keep reading and get access to the full archive.

Continue reading