2010-02-08 28 views
6

Tôi có mã chưa được chạm trong hơn một năm, nhưng các DC đã được nâng cấp từ 2008 đến 2008 R2. The folks AD khẳng định đó không phải là bản nâng cấp DC nhưng vấn đề này bắt đầu ngay lập tức sau đó đi vàoLỗi VBScript khi gọi GetObject ("WinNT: // JohnDoe, Người dùng")

Microsoft VBScript lỗi runtime '800a0046'
Permission denied:. 'GetObject'

Nó không trên Đặt nhóm Nhóm.

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 

Cảm ơn.

+0

Ngữ cảnh tài khoản người dùng nào thực thi tập lệnh? Có thể nó đã bị khóa ở cấp tên miền (nhưng được lưu trữ trên máy tính mà nó thực thi)? – Tomalak

+0

nó sẽ chạy như tài khoản COMPUTER. – ryan

+0

"Nên"? Bạn có thể kiểm tra? Rất có thể đó là thông điệp "truy cập bị từ chối" chính hãng. – Tomalak

Trả lời

6

tôi phải thay đổi mã để chuyển vào userid và 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 
Các vấn đề liên quan