CRM 2011 - 如何检查SystemUser是否已禁用

时间:2014-03-04 22:06:58

标签: plugins vbscript dynamics-crm-2011 dynamics-crm crm

我正在编写一个脚本(VBScript),通过从我们的一个SQL表中导入所需的信息来在CRM中创建/更新SystemUser。一切正常,但更新了BusinessUnitId字段。

问题是CRM限制了为残疾用户执行此操作的能力。默认情况下,我的所有用户都被禁用(它们更多地用作联系人,而不是用户,实际上只启用了少数用户)。我的问题很简单:如何检查用户是否启用?

StateCode和StatusCode仅用于将用户设置为启用或禁用。 Systemuser CRM表中的IsDisabled字段似乎不可读(如果我尝试从中读取,则会出现密钥不存在错误。)

我真的被困在这里了。有什么想法吗?

谢谢

2014年3月11日更新(代码要求)

Try 1 - Always Return True even when it should be False
If (user_new.Contains("isdisabled") And user_new.GetAttributeValue(Of Boolean)("isdisabled") = False) Then
  Console.WriteLine("ENABLED")
Else
  Console.WriteLine("DISABLED")
End If

Try 2 - Key does not exist
If (user_new.Attributes("isdisabled") = False) Then
  Console.WriteLine("ENABLED")
Else
  Console.WriteLine("DISABLED")
End If

Try 3 - Key does not exist
If (user_new.FormattedValues("isdisabled").ToString() = 0) Then
  Console.WriteLine("ENABLED")
Else
  Console.WriteLine("DISABLED")
End If

1 个答案:

答案 0 :(得分:4)

BusinessUnitEquipmentOrganizationResourceSystemUser均使用IsDisabled字段而非标准StateCodeStatusCode。它应该存储为布尔值。从CRM

检索SystemUser时,请确保将其包含在ColumnSet中