This code worked for about last 2 months, then is now failing:
Connect-PnPOnline -Url "https://myco.sharepoint.com/sites/sandbox"; -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