none
Pridání klíče do registru v proměnné cestě

    Dotaz

  • Zdravím Vás, mám takový oříšek..
    Potřebuji pridat jeden DWord do registru pro všecky pc, ale na kazdem pc je cesta k registru různá...
    Přidání klíče bych rád provedl co nejjedodušeji - skrze soubor .reg kde mam definovanou cestu "HKLM/Software/Microsoft/Windows nt/CurrentVersion\Windows Messaging Subsystem\Profiles\MS Exchange Settings 1\ A ZDE JE JAKÉSI INDIVIDUALNI ID V HEXU\DWord. Je možné, vložit za lomítko nějaký znak, ktery by nasypal Dword do vsech kličů? Něco jako "*" .. ?
    Nikde jsem nic podobneho nenalezl, tak se obracim na Vas, jak by jste toto resili..?

    Diky.

    9. prosince 2009 8:57

Odpovědi

  • neni cestou si precist (for ... ('reg query^|find...')) a "injektovat"?

    mozna by pomohl konkretni priklad - to ID je klic? Nebo uz ta menena DWORD hodnota?

    MP
    • Označen jako odpověď rka123 9. prosince 2009 10:06
    9. prosince 2009 9:41
    Moderátor
  • jasne, v tomto pripade je cyklus pres for za par kafi a nekolik vypadanych vlasu hotovy, nejvic problemu bude vyfiltrovat jen ty klice (zahodit pripadne podklice a hodnoty)

    prikladek na jine vetvi kterou jsem zrovna mel otevrenou:

    for /f %i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\^|find /i "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\"') do echo reg add %i /v MyValue /t REG_DWORD /d 0x01

    kafe posli messengerem :)

    MP

    9. prosince 2009 10:08
    Moderátor

Všechny reakce

  • neni cestou si precist (for ... ('reg query^|find...')) a "injektovat"?

    mozna by pomohl konkretni priklad - to ID je klic? Nebo uz ta menena DWORD hodnota?

    MP
    • Označen jako odpověď rka123 9. prosince 2009 10:06
    9. prosince 2009 9:41
    Moderátor
  • Klic... az pod tento klic (ID) potrebuji vlozit DWORD (nejlepe pod vsechy klice ID v ceste).. ale vase odpoved mne nakopla a uz vim co hledat :))
    Diky.
    9. prosince 2009 10:04
  • jasne, v tomto pripade je cyklus pres for za par kafi a nekolik vypadanych vlasu hotovy, nejvic problemu bude vyfiltrovat jen ty klice (zahodit pripadne podklice a hodnoty)

    prikladek na jine vetvi kterou jsem zrovna mel otevrenou:

    for /f %i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\^|find /i "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\"') do echo reg add %i /v MyValue /t REG_DWORD /d 0x01

    kafe posli messengerem :)

    MP

    9. prosince 2009 10:08
    Moderátor
  • verim ze fici napoprve :)

    hezky den

    MP
    9. prosince 2009 13:09
    Moderátor
  • Juu, ušetřil jsi mi vlasy :)

    Stací ti ta káva mailem?

    Diky za pomoc.
    R.
    9. prosince 2009 13:10
  • si delam srandu, nicmene skoda ze ses nezeptal o den driv, mohl jsem mit peknej prikladek na vcerejsi prednasku zakladu administrace Windows, myslim ze i zaryti linuxari by zmlkli a cumeli ze a co se da se starym dobrym cmd.exe

    MP
    9. prosince 2009 13:11
    Moderátor
  • Ja koukam taky :))
    Az ted se ke tvemu zapisu dostavam a snazim se mu porozumet - zatim tapu, nechapu funkci "^|find"
    Kdyz totiz pouziju funkcni "For" v cmd pro rozkopirovani souboru do ruznych podslozek, pouziji jednoduse for %%p %cesta%\* a on mi do promeny %p ulozi vsecky podslozky a naslednym "do" pracuji se vsemi podslozkami naraz..

    Dle tveho zaznamu, find bych mel definovat "co" hledat, nebo je to tak, ze kdyz neni definovano, najde vse?

    Budu laborovat :-P

    Diky za pomoc.

    9. prosince 2009 13:28
  • zacni "od vnitrku"

    for jen dostane 0..,n radku (vetvi registru) ktere zpracuje.
    Samotny reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\  ti vrati spoustu s.acek ktere te nezajimaji. Tebe zajimaji jen podVETVE ktere jednoduse najdes tak ze z vystupu vezmes potaz pouze radky obsahujici "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\" (znak ^ je escape - uvozuje specialni znak "|" ve slozenem prikazu). reg query ma sice moznost switchu /k /f * ale stejne se musis zbavit posledniho radku a pod ...


    proste si to spust, nejprve:

    1) reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\      - vidis kolik je tu balastu?

    pote

    2) reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\ |find /i "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\"     - to uz je jen to co potrebujeme, ze?

    3)  no a ted uz jen vysledek bodu 2) beres prikazem for v cyklu radek po radku , obalis "reg add" a spustis

    snadne

    MP
    9. prosince 2009 13:34
    Moderátor
  • Presne.. jsi genius!!
    Jen drobnost mne trapi - kdyz ulozim cestu do promeny, ulozi se vzdy jen po prvni mezeru (i s pouzitim apostrofu) - drive jsem to obchazel prez "PATH" nebo dos cestu -> tj 7znaku + "~"
    ale jak na to ted? snazim se najit v prikazu FOR nejakou syntaxi pro mezery, ale zatim marne..

    PS: ten find zrovinka v tomto pripade pouzit nemusim, vsecky podklice jsou pro mne zajimave a nic jineho tam neni (protoze ta cesta JE JINA NEZ KA ODKAZUJES TY.. "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\MS Exchange Settings 1" :c)
    Ale zkousel jsem to i v jinych cestach a funguje to jak rikas.. takze diky znovu.

    9. prosince 2009 15:11
  • JAK ukladas cestu? Prikazem for + set? For parsuje do "sloupcu" (tokenu) a mezera je defaultni oddelovac. Taze prosim konkretni priklad

    nicmene

    for /f "tokens=*" %i ... je NEJSPIS to co hledas

    MP
    9. prosince 2009 20:44
    Moderátor
  • Je .. :))
    Jsi machr!!
    17. prosince 2009 14:06
  • jsem rad ze se rady schopnych adminu rozrustaji a ze scriptovani neni vysadou linuxaru :)

    MP
    17. prosince 2009 15:05
    Moderátor