Bonjour,
Voila je cherche a modifier une valeur dans une clé je ne connais pas le nom de la clé car elle est differente sur chaque poste je connais juste son emplacement.
Est il possible avec un .reg de faire une modificaion generale (sorte de joker qui remplace le nom de la clé) !
Si quelqu'un peu m'aider merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude BELLAMY
Dans le message news: , magic s'est ainsi exprimé:
Bonjour, Voila je cherche a modifier une valeur dans une clé je ne connais pas le nom de la clé car elle est differente sur chaque poste je connais juste son emplacement. Est il possible avec un .reg de faire une modificaion generale (sorte de joker qui remplace le nom de la clé) !
Non ce n'est pas possible de cette façon. Il faut utiliser la classe "StdRegProv" de WMI
Puis tu dois effectuer au préalable une énumération des valeurs contenues dans la clef, à l'aide de la fonction "EnumValues" Ensuite, à l'aide d'une expression régulière, effectuer une comparaison entre le nom de chaque entrée et le nom générique prédéfini.
strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _ strComputer & "rootdefault:StdRegProv")
' Définir ici la clef à explorer strKeyPath = "SOFTWAREMicrosoft..........."
' Définir ici le nom de la valeur à tester ' Avec caractères génériques éventuels ("?" et/ou "*") ValRef="PathName..........." ' Adaptation des wildcards "?" et "*" à l'expression régulière ValRef=Replace(ValRef,"?",".") ValRef=Replace(ValRef,"*","[w.]*") & "$"
Dim sNames,iTypes
lRC = oReg.EnumValues(HKLM, strKeyPath, sNames, iTypes) If (lRC = 0) AND (Err.Number = 0) AND (NOT IsNULL(iTypes)) _ AND (NOT IsNull(sNames)) Then For i = LBound(sNames) To UBound(sNames) if RegExpTest(ValRef,sNames(i) then ' OK : La valeur correspond ... ... end if next
Function RegExpTest(patrn, strng) RegExptestúlse Dim regEx, Match, Matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = false Set Matches = regEx.Execute(strng) If matches.count>0 Then RegExptest=true End Function
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *
Dans le message news:3465A177-CC3A-4941-BA40-6E707D2A607D@microsoft.com ,
magic <magic@discussions.microsoft.com> s'est ainsi exprimé:
Bonjour,
Voila je cherche a modifier une valeur dans une clé je ne connais pas
le nom de la clé car elle est differente sur chaque poste je connais
juste son emplacement. Est il possible avec un .reg de faire une
modificaion generale (sorte de joker qui remplace le nom de la clé) !
Non ce n'est pas possible de cette façon.
Il faut utiliser la classe "StdRegProv" de WMI
Puis tu dois effectuer au préalable une énumération des valeurs contenues
dans la clef, à l'aide de la fonction "EnumValues"
Ensuite, à l'aide d'une expression régulière, effectuer une comparaison
entre le nom de chaque entrée et le nom générique prédéfini.
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & _
strComputer & "rootdefault:StdRegProv")
' Définir ici la clef à explorer
strKeyPath = "SOFTWAREMicrosoft..........."
' Définir ici le nom de la valeur à tester
' Avec caractères génériques éventuels ("?" et/ou "*")
ValRef="PathName..........."
' Adaptation des wildcards "?" et "*" à l'expression régulière
ValRef=Replace(ValRef,"?",".")
ValRef=Replace(ValRef,"*","[w.]*") & "$"
Dim sNames,iTypes
lRC = oReg.EnumValues(HKLM, strKeyPath, sNames, iTypes)
If (lRC = 0) AND (Err.Number = 0) AND (NOT IsNULL(iTypes)) _
AND (NOT IsNull(sNames)) Then
For i = LBound(sNames) To UBound(sNames)
if RegExpTest(ValRef,sNames(i) then
' OK : La valeur correspond
...
...
end if
next
Function RegExpTest(patrn, strng)
RegExptestúlse
Dim regEx, Match, Matches
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = false
Set Matches = regEx.Execute(strng)
If matches.count>0 Then RegExptest=true
End Function
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org Jean-Claude.Bellamy@wanadoo.fr *
JC.Bellamy@free.fr
Dans le message news: , magic s'est ainsi exprimé:
Bonjour, Voila je cherche a modifier une valeur dans une clé je ne connais pas le nom de la clé car elle est differente sur chaque poste je connais juste son emplacement. Est il possible avec un .reg de faire une modificaion generale (sorte de joker qui remplace le nom de la clé) !
Non ce n'est pas possible de cette façon. Il faut utiliser la classe "StdRegProv" de WMI
Puis tu dois effectuer au préalable une énumération des valeurs contenues dans la clef, à l'aide de la fonction "EnumValues" Ensuite, à l'aide d'une expression régulière, effectuer une comparaison entre le nom de chaque entrée et le nom générique prédéfini.
strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _ strComputer & "rootdefault:StdRegProv")
' Définir ici la clef à explorer strKeyPath = "SOFTWAREMicrosoft..........."
' Définir ici le nom de la valeur à tester ' Avec caractères génériques éventuels ("?" et/ou "*") ValRef="PathName..........." ' Adaptation des wildcards "?" et "*" à l'expression régulière ValRef=Replace(ValRef,"?",".") ValRef=Replace(ValRef,"*","[w.]*") & "$"
Dim sNames,iTypes
lRC = oReg.EnumValues(HKLM, strKeyPath, sNames, iTypes) If (lRC = 0) AND (Err.Number = 0) AND (NOT IsNULL(iTypes)) _ AND (NOT IsNull(sNames)) Then For i = LBound(sNames) To UBound(sNames) if RegExpTest(ValRef,sNames(i) then ' OK : La valeur correspond ... ... end if next
Function RegExpTest(patrn, strng) RegExptestúlse Dim regEx, Match, Matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = false Set Matches = regEx.Execute(strng) If matches.count>0 Then RegExptest=true End Function
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *