The expected type is ArrayOfSAMLAuthenticatorId, while you try using String.
$saml_auth_id= New-Object VMware.Hv.SAMLAuthenticatorId
$saml_auth_id.Id = 'SamlAuthenticator/XXXXXXX'
[VMware.Hv.SAMLAuthenticatorId[]]$update2.Value = $saml_auth_idThis way you get array of one object of type SAMLAuthenticatorId