Ein Problem mit RegWrite

  • Hallo All,

    ich bin neu hier und arbeite grade mit dem deutschen Tut/Wiki.
    Nun steck ich beim Punkt RegWrite fest. Ich versuche einen neuen Eintrag in die Reg zu schreiben und zwar wie folgt:

    ; ausführen mit Adminrechten
    #RequireAdmin

    ; Schreibe in die Reg ("Pfad kopiert" , "Name des Wertes", "Typ des Wertes", "Inhalt")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "Model", "REG_SZ", "Hallo")

    Habe ich da ein Verständnisproblem, oder warum geht das nicht.

    Thx
    Andreas

  • Ist es nicht so, dass der Registrypfad nicht zwangsläufig existieren muss? Der Pfad wird doch durch Regwrite angelegt, wenn dieser nicht existiert.
    Allerdings gibt es scheinbar Ausnahmnen. Nicht überall lassen sich neue Pfade anlegen, selbst mit #RequireAdmin. Zumindest nicht unter Win7 x64.

    Versuch mal einen neuen Registrypfad zu setzen, nur mal zum Test.

  • Also alpines den Pfad gibt es. Den hatte ich mir aus der Regedit kopiert.

    AspirinJunkie ?!?! Ja der Pfad wurde angelegt, genau mit den vorherigen Testdaten "Dies ist ein Test" :) und ein weiterer mit "Hallo" interessant.
    Schade nur, dass es nicht unter 'Systemsteuerung\Alle Systemsteuerungselemente\System' auftaucht.
    Hatte es zuerst mittels unattend.xml probiert wurde nix, da ich den variablen Nanem z.B. Dell 7010, 9020 u.s.w. eintragen wollte.
    Würde wohl gehn über eine wim Abfrage. Problem in diesem Stadium nimmt das System noch keine Anfragen an.
    Via GPO kann ich die Abfrage erstellen. Nur die Antwort bekomme ich nicht in 'Model'. Logo, Manufacturer, SupportHours, SupportPhone und SupportURL gehen (Sind auch statisch) und Model halt nicht....

    ---- Also Neueinträge beginnen auch mit dem Pfad HKLM\SOFTWARE\Wow6432Node\.....
    Gruss
    Andreas

    Einmal editiert, zuletzt von Ice-Tee (8. Dezember 2014 um 21:38)

  • Ok zusammengefasst: Du hast ein x64-Windows und dein Skript wird als x86-Skript ausgeführt.
    In dem Falle gibt es im Grunde genommen "zwei Registries" - eine für die x64-Programme und eine für die x86-Programme.
    Umgesetzt wird dies, in dem die Einträge der x86 Programme nach Wow6432Node umgeleitet werden.

    Es gibt nun mehrere Möglichkeiten wie du den richtigen Pfad beschreiben kannst.
    Erste Methode: Skript als x64 kompilieren.
    Zweite Methode: Statt HKLM\ im Pfad HKLM64\ schreiben (Siehe Hilfe zu Regwrite).

  • Danke.... Das nenn ich mal Schlüsselaussage :rock:
    Damit kann ich alle OEM Informationen dynamisch lösen
    Fehler lag bei mir, Text falsch gelesen. --- Sag ja Leute schickt ein das Arbeitsamt....

    THX nochmal
    Andreas

    So geht's:
    #RequireAdmin ;für Adminrechte
    ; Schreibt einen einzelnen REG_SZ Wert
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "LOGO", "REG_SZ", "") ; Pfad zum Logo 120x120 *.BMP
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "Manufacturer", "REG_SZ", "Mein TestComputer")
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "SupportHours", "REG_SZ", "Immer, ausser zwischen 00:00 Uhr und 24:00 Uhr")
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "Model", "REG_SZ", "Hier kommt noch 'ne Variable rein")
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "SupportURL", "REG_SZ", "https://autoit.de")
    RegWrite("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation", "SupportPhone", "REG_SZ", "Blechtrommel oder Rauchzeichen")

    Einmal editiert, zuletzt von Ice-Tee (8. Dezember 2014 um 22:23)