2016-09-23 1 views
0

nouveau à VBS, essentiellement sur les critères de réunion, le script va modifier le registre, c'est ce que j'ai jusqu'à présent.VBS n'appelant pas l'objet 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 

Ainsi, seule la fonction MsgBox fonctionne, le isnt objRegistry.DeleteValue. J'ai déjà déclaré objRegistry juste avant. Impossible de comprendre pourquoi:

+4

Assurez-vous que l'utilisateur connecté dispose des autorisations sur les clés de registre. –

+0

d0h lol ... je ne peux pas croire que j'ai manqué la chose la plus basique. J'apprécie cela ... mais j'ai une question plus importante maintenant. – Farhan

Répondre

3

L'utilisateur connecté doit avoir les droits d'accès aux clés de registre. Selon le commentaire @Farhan, il a appris à connaître la raison. Mettre dans la réponse car il aidera d'autres personnes qui ont des questions similaires.