Get Field names from a list

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.
Leave a Reply
You must be logged in to post a comment.