Home All Groups Group Topic Archive Search About

Delete Parent registry key based on subkey data

Author
25 Apr 2007 1:19 PM
spatz0r
I am trying to figure out if it is possible to delete a parent key
based on data in the subkey.  For example, the following registry key
automatically generates a random number behind the key
(network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF), but the ID subkey
will always be the same on all PC's.

Is there a way to parse the registry for that ID and then delete the
parent key through a VBS or some other script.

[HKEY_CURRENT_USER\Software\GINA\client\networks
\network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF]
"associationMode"="open"
"ccxNetworkEap"="0"
"channel"="0"
"description"=""
"encryption"="802.1x"
"encryptionType"="WEP"
"id"="e8jne9ds9739a9b97872d4d689102"

Thanks
John Anderson

Author
26 Apr 2007 10:02 AM
Jeremy
I'm not going to write the code for you, but you just need to write a
recursive function that calls itself with subkeys of a parent.

Something like this:

--------------------------------------------

Function FindValue(key)
Keytodelete=bogusvalue

For each value in key do
    If the value is what I am after then
        Keytodelete=key
        Exit loop
    End if
Next

If Keytodelete=bogusvalue Then
    For each subkey in key
        Call Function FindValue(subkey)
    Next
End If

'main program body
RootKey=StartPointofSearch
FindValue(RootKey)
Delete KeytoDelete

--------------------------------------------

Does this make sense to you?
<spat***@gmail.com> wrote in message
Show quoteHide quote
news:1177507157.684552.273180@r30g2000prh.googlegroups.com...
>I am trying to figure out if it is possible to delete a parent key
> based on data in the subkey.  For example, the following registry key
> automatically generates a random number behind the key
> (network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF), but the ID subkey
> will always be the same on all PC's.
>
> Is there a way to parse the registry for that ID and then delete the
> parent key through a VBS or some other script.
>
> [HKEY_CURRENT_USER\Software\GINA\client\networks
> \network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF]
> "associationMode"="open"
> "ccxNetworkEap"="0"
> "channel"="0"
> "description"=""
> "encryption"="802.1x"
> "encryptionType"="WEP"
> "id"="e8jne9ds9739a9b97872d4d689102"
>
> Thanks
> John Anderson
>
Author
26 Apr 2007 9:19 PM
Jeremy
I just realised that the logic in this has a flaw.  It will only ever delete
one key that it finds and I got the impressions from your post that you
wanted to delete all instance.  Just need to add an extra couple of line in
the function which I have edited below.

"Jeremy" <jer***@discussions.microsoft.com> wrote in message
news:B074C9A5-CD37-47F4-9377-93885979D400@microsoft.com...
> I'm not going to write the code for you, but you just need to write a
> recursive function that calls itself with subkeys of a parent.
>
> Something like this:
>
--------------------------------------------

Function FindValue(key)
Keytodelete=bogusvalue

For each value in key do
    If the value is what I am after then
        Keytodelete=key
        Exit loop
    End if
Next

If Keytodelete=bogusvalue Then
    For each subkey in key
        Delete Function FindValue(subkey)
    Next
End If
FindValue=KeyToDelete
'main program body
RootKey=StartPointofSearch
Delete Function FindValue(RootKey)

--------------------------------------------
Show quoteHide quote
>
> Does this make sense to you?
> <spat***@gmail.com> wrote in message
> news:1177507157.684552.273180@r30g2000prh.googlegroups.com...
>>I am trying to figure out if it is possible to delete a parent key
>> based on data in the subkey.  For example, the following registry key
>> automatically generates a random number behind the key
>> (network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF), but the ID subkey
>> will always be the same on all PC's.
>>
>> Is there a way to parse the registry for that ID and then delete the
>> parent key through a VBS or some other script.
>>
>> [HKEY_CURRENT_USER\Software\GINA\client\networks
>> \network#FD3D2E5EDBD3FED8A925FE1A99DC616942D6DAFF]
>> "associationMode"="open"
>> "ccxNetworkEap"="0"
>> "channel"="0"
>> "description"=""
>> "encryption"="802.1x"
>> "encryptionType"="WEP"
>> "id"="e8jne9ds9739a9b97872d4d689102"
>>
>> Thanks
>> John Anderson
>>
>