Creation cle de registre avec des / [Résolu]

- - Dernière réponse :  Olivdev - 11 sept. 2013 à 12:00
Bonjour,
Je cree un petit script afin de verifier la presence d'un prog dans le firewall windows et je n'arrive pas a creer une cle de registre.
En effet, la cle est "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications\List\"C:\Detection\Process\Motion.exe"", mon probleme est que le script me cree une arborescence de repertoires C:, Detection et Process avant de creer ma cle.
Auriez vous une soluce svp?
Afficher la suite 

2 réponses

Messages postés
25026
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
22 mars 2019
364
0
Merci
Bonjour,

La base de registre n'autorise pas l'utilisation du "\" dans le nom de ses arborescences..
Au mieux vous pourriez utiliser le "/".

Par contre je ne comprend pas vraiment l'intérêt d'avoir une arborescence qui porte comme nom le "chemin" d'un fichier.
Pourquoi ne pas mettre ce chemin dans une clé tout simplement ?
0
Merci
Salut,

Ce serait plus simple c'est vrai, mais en fait le but de la manoeuvre est d'ajouter un ou des programmes dans les exceptions du firewall, d'ou le nom de la cle avec des \.
J'ai trouve une solution:

Pour acceder au registre a distance:
Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\Nom Du Poste\root\default:StdRegProv")
- Les services RDP Call et WMI doivent etre actifs sur la machine distante. -

Cette methode permet de separer le nom de la cle et sa valeur:
oReg.SetstringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

Un peu plus complexe que obj.RegWrite

Voila, bonne journee.
jordane45
Messages postés
25026
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
22 mars 2019
364 -
hello,

et juste pour savoir : Tes variables vallent quoi dans ton cas ?
strKeyPath,= "HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesSharedAccessParametersFirewallPolicyDomainProfileAuthorizedApplicationsList\"

strValueName = ?
,strValue =  ?



Tu as réussi à mettre le "C:\Detection\Process\Motion.exe" dans strValueName ?

Nb: En relisant ton premier post, je viens de voir que tu mettais des Guillement autour du chemin de la clé ET autour de la clé.. . Lorsque tu dois "intégrer" dans une chaine une autre chaine devant contenir des guillemets, il faut, le plus souvent, mixer avec des apostrophes...
exemple:
 'HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesSharedAccessParametersFirewallPolicyDomainProfileAuthorizedApplicationsList\"C:DetectionProcessMotion.exe"', 
Oui j'ai mis
strValueName="C:\Detection\Process\Motion.exe"
strValue="C:\Detection\Process\Motion.exe:*:Enabled:Motion"
(la valeur qui est qd le firewall est actif)
Et tout se met bien dans la base de registres.
Pour les guillemets, j'ai essaye les doubles, les triples, separer la string.. mais je ne pratique plus vb depuis quelques annees alors je ne me souvenais plus de ca, merci pour l'info.
++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.