Como criar uma chave de registro dentro do GUID do usuário? Preciso fazer isso por VBS, vai rodar em 500 usuários mais ou menos.
Chave original, por exemplo:
HKEY_CURRENT_USER\Identities\{GUID}\Software\Microsoft\Internet Account Manager\Accounts\00000006
Preciso criar uma chave (00000099) abaixo de “Contas” ao lado da chave “00000006”.
Responder1
Você pode trabalhar com chaves de registro onde não sabe o nome antecipadamente usando o provedor de registro wmi
Tem um métodoEnumKeyisso lhe dará todas as subchaves para uma determinada chave. Você pode usar isso para obter todas as identidades como esta:
Const HKCU = &H80000001 'HKEY_CURRENT_USER
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\./root/default:StdRegProv")
sBaseKey = "Identities\"
iRC = oReg.EnumKey(HKCU, sBaseKey, aSubKeys)
For Each sKey In aSubKeys
Msgbox sKey
Next
Assim que você souber a identidade, poderá construir o caminho completo necessário com ela e criar sua chave usando oCriarchavemétodo. Você poderia até usar o normalRegWritemétodo para a criação da chave neste momento, mas como você já tem o objeto StdRegProv, eu simplesmente usaria isso.