2010-02-08 16 views
6

Mam kod, który nie był dotykany od ponad roku, ale DC zostały uaktualnione od 2008 do 2008 R2. Ludzie AD twierdzą, że nie jest to uaktualnienie DC ale problem zaczął natychmiast po tym poszedł wBłąd VBScript podczas wywoływania GetObject ("WinNT: // JohnDoe, użytkownik")

Microsoft VBScript runtime error „800A0046”
Odmowa dostępu. „GetObject”

To braku na Ustaw linię grupy.

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 

Dzięki.

+0

W jakim kontekście konta użytkownika skrypt jest uruchamiany? Może jest zablokowany na poziomie domeny (ale buforowany na komputerze, na którym jest uruchamiany)? – Tomalak

+0

powinien działać jako konto COMPUTER. – ryan

+0

"Powinno"? Możesz sprawdzić? Prawdopodobnie jest to prawdziwy komunikat "odmowa dostępu". – Tomalak

Odpowiedz

6

Musiałem zmienić kod, aby przejść w userid i 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 
Powiązane problemy