2013-02-21 2 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

감사 로컬 관리자 권한이있는 사용자로 스크립트를 실행합니다.

+0

내가 자격 증명을 전달하는 이유는 그것이 unde입니다. r SYSTEM 계정이지만 다른 자격 증명으로 연결합니다. 참조 : http://blogs.technet.com/b/heyscriptingguy/archive/2004/12/13/how-can-i-run-a-script-under-alternate-credentials.aspx – Max

+0

@Max 여기서 "명시 적 자격 증명을 사용할 때 SYSTEM이 다른 호스트에 액세스 할 수 있습니다."라는 내용을 보시겠습니까? LOCAL SYSTEM 계정은 LOCAL입니다. 이런 종류의 작업에는 사용하지 마십시오. 대신 NETWORK SERVICE를 사용하거나 전용 로컬 관리자 계정을 만드십시오. –

+0

저는 여러분이 자신의 프로세스를 어떤 계정에서 실행하고 있는지, 중요한 것은 AD 객체에 액세스 할 수 있도록 DC에 전달할 자격 증명이 무엇인지에 관계없이 말하고있었습니다. 나는 Active Directory/ADSI/LDAP에 익숙하지 않아서 당신의 충고를 고려하고 테스트해야 할 것입니다. – Max