2010-02-08 17 views
6

Tengo un código que no se ha modificado en más de un año, pero los controladores de dominio se actualizaron de 2008 a 2008 R2. Las personas con EA afirman que no es la actualización de DC, pero el problema comenzó inmediatamente después de que se fueron enError de VBScript al llamar a GetObject ("WinNT: // JohnDoe, usuario")

Microsoft VBScript error de ejecución 800a0046
Permiso denegado:. 'GetObject'

está fallando en la Establecer línea de grupo.

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 

Gracias.

+0

¿En qué contexto de cuenta de usuario se ejecuta la secuencia de comandos? ¿Tal vez está bloqueado en el nivel de dominio (pero en caché en la máquina en la que se ejecuta)? – Tomalak

+0

debería estar ejecutándose como la cuenta COMPUTER. – ryan

+0

"debería"? ¿Puedes revisar? Lo más probable es que realmente se trate de un mensaje genuino de "acceso denegado". – Tomalak

Respuesta

6

tuve que cambiar el código para pasar en el ID de usuario y 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 
Cuestiones relacionadas