2016-09-23 5 views
0

기본적으로 기준을 충족하면 스크립트가 레지스트리를 편집합니다. 이것은 지금까지 얻은 것입니다.VBS는 regedit 객체를 호출하지 않습니다

For Each ObjProcessor In ColSettings 
If (ObjProcessor.AddressWidth = 64) Then 
    If FSO.FileExists("C:\Program Files (x86)\A\A Client\B\SelfService.exe") Then 
     strkey1 = WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\A\B\C\STORE0") 
     If (strkey1 = "AppGateway;https://A.net/C/B/Discovery;On;AppGateway") Then 
      Set objRegistry = GetObject("winmgmts:\\" & strComputer &"\root\default:StdRegProv") 
      strKeyPath = "SOFTWARE\Wow6432Node\A\B\C\" 
      strValueName = "STORE0" 
      objRegistry.DeleteValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName 
      Call MsgBox("Test: " & strKeyPath) 
     End If 
    End If 
End If 
Next 

따라서 MsgBox 함수 만 작동하며 objRegistry.DeleteValue는 작동하지 않습니다. 나는 objRegistry를 이미 선언했다. 간결한 이유를 알아 낸 것 같습니다

+4

로그온 한 사용자가 레지스트리 키에 대한 권한이 있는지 확인하십시오. –

+0

d0h 권자 ... 나는 가장 기본적인 것을 놓쳤다 고 믿을 수 없다. 고맙습니다 ...하지만 지금은 더 큰 문제가 있습니다. – Farhan

답변

3

로그온 한 사용자는 레지스트리 키에 대한 권한이 있어야합니다. @Farhan 코멘트에 따르면, 그는 이유를 알아야합니다. 답을 넣으면 비슷한 질문을하는 다른 사람들을 도울 것입니다.