2013-02-21 97 views
0

我想将域用户帐户添加到本地组,并且一切正常,如果我登录到计算机但如果我在SYSTEM帐户下运行相同的脚本它失败,出现错误:424所需的对象”这里是代码:VBScript错误424对象在SYSTEM帐户下运行脚本时需要

Dim domain   : domain   = "DOMAIN01" 
Dim domainController: domainController = "99.139.151.102" 
Dim localComputer : localComputer = "SERVER001" 
Dim localGroup  : localGroup  = "LocalGroup1" 
Dim domainAccount : domainAccount = "User1" 
Dim objLocalGroup 
Dim objDomainUser 

Set objLocalGroup = GetObject("WinNT://" & localComputer & "/" & localGroup & ",group") 
Set objDomainUser = GetObject("WinNT:").OpenDSObject("WinNT://" & domain & "/" & domainController & "/" & domainAccount, domainAccount, "Password1234", ADS_SECURE_AUTHENTICATION or ADS_SERVER_BIND) 

    'Add domain user to local group. 
    objLocalGroup.Add(objDomainUser.ADsPath) 

    If Err.Number <> 0 Then 
     WScript.Echo Err.Number 
     WScript.Echo Err.Description 
    Else 
     WScript.Echo domainAccount & " has been added to local group " & localGroup 
    End If 

谢谢

回答

0

SYSTEM帐户没有业务连接到其他主机上运行脚本以具有本地管理员权限的用户。

+0

这就是为什么我通过凭据。 r SYSTEM帐户,但与其他凭证连接。参见: http://blogs.technet.com/b/heyscriptingguy/archive/2004/12/13/how-can-i-run-a-script-under-alternate-credentials.aspx – Max 2013-02-21 20:29:21

+0

@Max在那里文章中是否有任何说“当使用显式证书时系统可以访问其他主机”?本地系统帐户是LOCAL。不要将它用于这类任务。而是使用网络服务或创建专用的本地管理员帐户。 – 2013-02-22 09:55:07

+0

我只是说应该在哪个帐户下运行你的进程,什么事是你传递给DC的凭证,以便你可以访问它的AD对象。我对Active Directory/ADSI/LDAP不是很熟悉,所以我将不得不考虑您的建议并进行测试。 – Max 2013-02-22 15:30:39

相关问题