OVH Cloud OVH Cloud

Interrogation BdR HKEY_USERS

1 réponse
Avatar
Thierry
Bonjour,

J'ai besoin d'interroger la Base de Registre de mes collègues pour modifier
une valeur REG_SZ

Voici mon Script:

On Error Resume Next
strComputer = "."
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &
strComputer & "\root\default:StdRegProv")
Set wshNetwork = wscript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_UserAccount
where name='" & WshNetwork.UserName & "'",,48)
For Each objItem in colItems
strSID = objItem.SID ' Récupération du SID user connecté
Next
strResult = "User = " & WshNetwork.UserName & vbcrlf & "SID: " & strSID &
vbcrlf & "==================" & vbcrlf
For i=1 To 12 'Boucle de vérification des différentes clés associées
If i < 10 then
strKey = strSID & "\Software\Microsoft\Internet Account
Manager\Accounts\00000000" & i
Else
strKey = strSID & "\Software\Microsoft\Internet Account
Manager\Accounts\0000000" & i
End if
strValueName1 = "POP3 Server"
strValueName2 = "SMTP Server"
objReg.GetStringValue HKEY_USERS,strKey,strValueName1,strPop3
objReg.GetStringValue HKEY_USERS,strKey,strValueName2,strSmtp
strResult = strResult & "i = " & i & vbcrlf & "POP3 = " & strPop3 &
vbcrlf & "SMTP = " & strSmtp & vbcrlf & "================" & vbcrlf
Next
MsgBox strResult, vbInformation, "Résultat"


Je n'arrive malheureusement pas à l'interroger, je n'ai aucune valeur en
retour, j'ai essayé GetExpandedStringValue, mais idem, rien.

Avez vous une idée?
--

Amicalement,
Thierry

1 réponse

Avatar
Thierry
Re,

J'ai corrigé mon script pour mettre ceci:
Set WshShell = WScript.CreateObject("WScript.Shell") ' à la place de objReg

strPop3 = WshShell.RegRead("HKEY_USERS" & strKey & "POP3 Server")

Cela fonctionne bien pour l'interrogation de la BdR


Bonjour,

J'ai besoin d'interroger la Base de Registre de mes collègues pour modifier
une valeur REG_SZ

Voici mon Script:

On Error Resume Next
strComputer = "."
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!" &
strComputer & "rootdefault:StdRegProv")
Set wshNetwork = wscript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_UserAccount
where name='" & WshNetwork.UserName & "'",,48)
For Each objItem in colItems
strSID = objItem.SID ' Récupération du SID user connecté
Next
strResult = "User = " & WshNetwork.UserName & vbcrlf & "SID: " & strSID &
vbcrlf & "==================" & vbcrlf
For i=1 To 12 'Boucle de vérification des différentes clés associées
If i < 10 then
strKey = strSID & "SoftwareMicrosoftInternet Account
ManagerAccounts0000000" & i
Else
strKey = strSID & "SoftwareMicrosoftInternet Account
ManagerAccounts000000" & i
End if
strValueName1 = "POP3 Server"
strValueName2 = "SMTP Server"
objReg.GetStringValue HKEY_USERS,strKey,strValueName1,strPop3
objReg.GetStringValue HKEY_USERS,strKey,strValueName2,strSmtp
strResult = strResult & "i = " & i & vbcrlf & "POP3 = " & strPop3 &
vbcrlf & "SMTP = " & strSmtp & vbcrlf & "================" & vbcrlf
Next
MsgBox strResult, vbInformation, "Résultat"


Je n'arrive malheureusement pas à l'interroger, je n'ai aucune valeur en
retour, j'ai essayé GetExpandedStringValue, mais idem, rien.

Avez vous une idée?
--

Amicalement,
Thierry