Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PowerShell PnP sort SharePoint choice column failing

Status
Not open for further replies.

solweb

Programmer
Oct 1, 2020
1
US
This code worked for about last 2 months, then is now failing:

Connect-PnPOnline -Url " -UseWebLogin

$listsToAdd = @("Structure Reqs","Perm Mods")
ForEach ($listToAdd in $listsToAdd)
{
$field = Get-PnPField -List $listToAdd -Identity "MyTargetColumn"
$ctx = Get-PnPContext

$fieldChoice = [Microsoft.SharePoint.Client.ClientContext].GetMethod("CastTo").MakeGenericMethod([Microsoft.SharePoint.Client.FieldChoice]).Invoke($ctx,$field)

$ctx.Load($fieldChoice)
Invoke-PnPQuery

$choices = $fieldChoice.Choices
$choices += "MyNewValue".ToUpper()

$fieldChoice.Choices = $choices | Sort-Object

$fieldChoice.UpdateAndPushChanges($true)
Invoke-PnPQuery
}


*** Error message is:

Exception calling "Invoke" with "2" argument(s): "Object does not match target type."
At line:14 char:1
+ $fieldChoice = [Microsoft.SharePoint.Client.ClientContext].GetMethod( ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], MethodInvocationException
+ FullyQualifiedErrorId : TargetException


Cannot find an overload for "Load" and the argument count: "1".
At line:16 char:1
+ $ctx.Load($fieldChoice)
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest


The property 'Choices' cannot be found on this object. Verify that the property exists and can be set.
At line:22 char:1
+ $fieldChoice.Choices = $choices | Sort-Object
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: :)) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound


You cannot call a method on a null-valued expression.
At line:24 char:1
+ $fieldChoice.UpdateAndPushChanges($true)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: :)) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull


Exception calling "Invoke" with "2" argument(s): "Object does not match target type."
At line:14 char:1
+ $fieldChoice = [Microsoft.SharePoint.Client.ClientContext].GetMethod( ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], MethodInvocationException
+ FullyQualifiedErrorId : TargetException


Cannot find an overload for "Load" and the argument count: "1".
At line:16 char:1
+ $ctx.Load($fieldChoice)
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest


The property 'Choices' cannot be found on this object. Verify that the property exists and can be set.
At line:22 char:1
+ $fieldChoice.Choices = $choices | Sort-Object
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: :)) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound


You cannot call a method on a null-valued expression.
At line:24 char:1
+ $fieldChoice.UpdateAndPushChanges($true)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: :)) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top