LIRE UNE BASE DE REGISTRE DISTANTE

TheGuern Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 25 mars 2008 - 3 févr. 2004 à 23:25
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008 - 25 sept. 2005 à 23:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18932-lire-une-base-de-registre-distante

laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
25 sept. 2005 à 23:13
perso je fait une connexion "net use" (je me connecte en tant qu'admin) sur le poste distant et aprés sa roule, tu n'a plus de prb de droits.
AllalcoolG Messages postés 16 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 23 octobre 2008
24 sept. 2005 à 20:28
grace au fonction APi on peux recup la valeur d une clés sur son poste. Est il possible de récup un clé presente sur autre machine faisant partie d un autre domaine en passant OBLIGATOIREMENT comme argument le mot de passe, le compte et la lien vers la clés?
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
30 avril 2005 à 11:01
tu as tout ce qu'il te faut pour ennmérer le sous-clés d'une ruche (regarde dans le source), tu n'a quà changer le nom de la ruche et de la clé à énumérer. Pour lire les valeur regarde le poste juste au dessus, lol. Et pour écrire des valeurs je n'ai plus le nom exacte des api en tête (c un truc du RegSetValue) regarde sur le site http://www.mentalis.org/apilist/RegSetValueEx.shtml)

Bonne prog !
jmbourreau Messages postés 17 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 4 avril 2007
29 avril 2005 à 18:45
Salut as tu reussis a ecrire dans une base distante??
Sinon j'aimerai aussi enumerer les cles d'un registre par exemple dans la ruche HKEY_LOCAL_MACHINE, pouvoir énumerer les sous clés "display de la clé : "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall". Est ce possible?
Merci de ton travail.
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
25 avril 2005 à 18:55
vérifie que le service windows d'acces distant à la base de registre soit activé.
jmbourreau Messages postés 17 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 4 avril 2007
25 avril 2005 à 16:14
Salut je viens d'essayer ton code pour lire les valeurs, et il ne fonctionne pas . Merci de voir si tu peux m'aider.
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
7 févr. 2004 à 00:45
il n'y a rien a installer et ce n'est pas des contrôle active X, ce sont juste des appel à des api qui s'appient sur des dll de windows (9x ou à partir de NT 3.51, donc pour toutes les version)

Private Sub ListePortsLocal()
Dim NomPort As String
Dim NomFichier As String
'lister les valeurs d'une sous-clé
NomFichier = UCase(txtNomPoste.Text) & "PortLocal.txt"
lstPorts.Clear

Cnt = 0
'Open a registry key
If RegOpenKey(RemoteMachine, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports", hKey) = 0 Then
If (Dir$(CheminTXT & NomFichier) <> vbNullString) Then
Kill (CheminTXT & NomFichier)
End If
'initialize
sName = Space(BUFFER_SIZE)
sData = Space(BUFFER_SIZE)
Ret = BUFFER_SIZE
RetData = BUFFER_SIZE
'enumerate the values
While RegEnumValue(hKey, Cnt, sName, Ret, 0, ByVal 0&, ByVal sData, RetData) <> ERROR_NO_MORE_ITEMS
'show data
If RetData > 0 Then
'sauvegarde de la clé dans un fichier
NomPort = Left$(sName, Ret)
If (NomPort <> "") Then
If ((NomPort <> "FILE") And (Mid(NomPort, 1, 2) <> "Ne")) Then
If (Mid(NomPort, Len(NomPort), 1) = "=") Then
NomPort = Left(NomPort, Len(NomPort) - 1)
End If
If (Mid(NomPort, Len(NomPort), 1) = ":") Then
NomPort = Left(NomPort, Len(NomPort) - 1)
End If

Open CheminTXT & NomFichier For Append As #1
Print #1, NomPort
Close #1
lstPorts.AddItem (NomPort)
End If
End If
'prepare for next value
Cnt = Cnt + 1
sName = Space(BUFFER_SIZE)
sData = Space(BUFFER_SIZE)
Ret = BUFFER_SIZE
RetData = BUFFER_SIZE
End If
Wend
'Close the registry key
RegCloseKey hKey
End If
End Sub

bon voilà
c un petit truc qui m'a permisde récupéré les ports locaux d'un pc distant
après dans la boucle, je "nettoie" la chaine des caractères indésirable
et je sauvegarde la liste des ports dans un fichier texte

bonne prog !
TheGuern Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 25 mars 2008
6 févr. 2004 à 06:50
ok, thank d'avance. Pour ce qui est de la valeur chaine, ce n'est pas grave car c'est pour faire un prog de sécu... Alors DWORD ou CHAÎNE; ça revient au même...
Pour ce qui est du paramêtrage; je suis sous XP, alors est-ce que je doit installer l'accès du registre distant ou est-ce que c'est un activex qui peut fonctionner sans???
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
5 févr. 2004 à 19:03
pardon j'avais pas vu vos msg, j'ai été très oqp mais je vous mettrai en example en commantaire demain, seulement pour les valeurs ça marche quelque soit le type mais pour récupérer les données de chaque valeur ça ne marche que si c une chaine, pas avec une valeur dword (héxa) et pour le multi_sz, g pas testé
TheGuern Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 25 mars 2008
4 févr. 2004 à 22:05
Vas-y donne un exemple please (chuis féniant). Si t'a po envie, tant pis, je le ferai quand j'aurais le temps.

Merci d'avance..

@++++

TheGuern
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
4 févr. 2004 à 19:59
c avec l'api RegEnumValue ou RegEnumValueEx

si t'y arrive pas g 1 example
TheGuern Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 25 mars 2008
4 févr. 2004 à 18:47
Le seul truc que j'aimerai savoir, c'est si au lieu de lire des clé dans le registre, on pourrait lire des valeur ou des données???

Sujet à polémique. Tx d'avance...

P.S. : si c'est oui, please un API ou un Activex
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
4 févr. 2004 à 17:58
ravis d'avoir pu t'aider
TheGuern Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 25 mars 2008
3 févr. 2004 à 23:25
Impec et rien à redire; c'est exactement ce que je cherchais. Merci et @+++

TheGuern
Rejoignez-nous