Get Field names from a list
Table of Contents
Today I tried to load the Fields from a list using PnP PowerShell and CSOM.
$ctx = Get-PnPContext
$list = Get-PnPList -Web $web -Identity $listName
$ctx.Load($list.Fields)
$ctx.ExecuteQuery()
This quite quickly resulted in :
Exception calling “Load” with “1” argument(s): “The object is used in the context different from the one associated with the object.”
At line:1 char:1
+ $web.Context.Load($list.Fields)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : InvalidOperationException
Ok, maybe I need to use my $web.Context
$list = Get-PnPList -Web $web -Identity $listName
$web.Context.Load($list.Fields)
$web.Context.ExecuteQuery()
No, the same error still occurs.
Hmm, so the $list object has its own web (ParentWeb) object
$list = Get-PnPList -Web $web -Identity $listName
$list.ParentWeb.Context.Load($list.Fields)
$list.ParentWeb.Context.ExecuteQuery()
and now I can get to my $list.Fields.
See Also
The object is used in the context different from the one associated with the object.
Discover more from SharePains
Subscribe to get the latest posts sent to your email.

Thank you sir!
I can use the same technique here for a file I have just restored from the RecycleBin
$f = Get-PnPFolderItem -FolderSiteRelativeUrl “Documents/GDPR/test” -ItemName DeleteMe1.docx
$f.Context.Load($f.ListItemAllFields)
$f.Context.ExecuteQuery()
$f.ListItemAllFields
Catch you next time I am at the London PowerPlatform meet