调用GetObject时出现VBScript错误(“WinNT:// JohnDoe,User”)

时间:2010-02-08 15:26:33

标签: vbscript active-directory activex adsi

我的代码在一年内没有被触及,但DC从2008年升级到2008 R2。 AD人员声称这不是DC升级,但问题在进入后立即开始。

  

Microsoft VBScript运行时错误'800a0046'
  权限被拒绝:'GetObject'

在Set Group专栏上失败了。

Set Group = GetObject("WinNT://" & Logon_name & ",User")

For each Member in Group.Groups
  If Member.Class = "Group" then
    If Member.Name = "TEST_AD_GROUP" Or Member.Name = "TEST_AD_GROUP2" then
      x = "true"
      Exit For
    End If
  End If
Next

感谢。

1 个答案:

答案 0 :(得分:6)

我必须更改代码以传入userid和pwd。

Set objIADS = GetObject("WinNT:").OpenDSObject("WinNT://" & strDomain, strUsername, strPassword, ADS_SECURE_AUTHENTICATION)
Set objIADSUser = objIADS.GetObject("user", strUsername)

For each Member in objIADSUser.Groups
    If Member.Class = "Group" then
        If Member.Name = "TEST_AD_GROUP" then
            x = "true"
            EXIT FOR
        End If
    End If
Next