8 Replies Latest reply on May 29, 2008 7:05 AM by vanGoo

    Registry Einträge - REG_BINARY

    L4rS Rookie
      Guten Tag

      Ich sollte mit einem Projekt einen Registry-Wert anpassen und dieser ist vom Typ REG_BINARY. Ich habe die 3 verschiedenen Registry Veränderungen/Vnpassungen im NetInstall ausprobiert, doch keine dieser Möglichkeiten bietet mir diese Variante.

      Haben Sie eine Lösung für mich?

      Mit Freundlichem Gruss
      L4rS
        • 1. Re: Registry Einträge - REG_BINARY
          Klaus Salger Expert
          Hallo L4rS,
          die einzige Möglichkeit, die NetInstall standardmäßig bietet um REG_BINARY-Werte zu manipulieren ist "Regload".
          Wenn der ganze Werte in der Registry überschrieben werden soll ist das die einfachste Variante. Wenn gezielt Teile eines REG_BINARY geändert werden sollen, dann muss das mit einem externen Tool oder Script (z.B. VBS) erledigt werden.

          Ciao
            Klaus
          • 2. Re: Registry Einträge - REG_BINARY
            L4rS Rookie
            Hallo Klaus

            Besten Dank für die rasche Antwort.
            Ja es soll der ganze Wert in der Registry geändert werden, von dem her wäre diese Option perfekt. Nun noch eine weitere Frage, könnte man ein Teil des Computernames auslesen und diesen dann mit dem Regload-Befehl und weiteren Werten in die Registry schreiben?

            Gruss Lars
            • 3. Re: Registry Einträge - REG_BINARY
              Klaus Salger Expert
              Hallo Lars,

              möglich ist alles

              Soll ein Teil des Computernamens und andere variablen Bestandteile in den REG_BINARY oder ist der REG_BINARY konstant und die variablen Anteile gehen in andere Registry-Werte?

              Wenn in den REG_BINARY KEINE variablen Inhalte müssen, dann kannst Du erstmal den RegBinary per RegLoad laden und die anderen Inhalte per RegModify schreiben oder auch ein gemeinsames NIR-File erzeugen, in dem alle, incl. Variablen, enthalten sind.
              Wenn der REG_BINARY allerdings Variablen enthält, dann wird's schwieriger, REG_BINARYs können nämlich keine NetInstall-Variablen enthalten. Dann musst Du die Werte doch per VBS oder dergleichen in die Registry schreiben oder (ebenfalls z.B. per VBS) dynamisch ein NIR-File erzeugen und das dann per RegLoad in die Registry laden (ob letzteres dauerhaft funktioniert und von enteo supportet wird darf aber bezweifelt werden).

              Wenn das Dein Problem nicht löst, dann kannst Du ja mal ein konkretes Beispiel geben, was Du wohin schreiben willst.

              Ciao
                Klaus
              • 4. Re: Registry Einträge - REG_BINARY
                L4rS Rookie
                Hallo Klaus,

                am besten erkläre ich dir genau mein Vorhaben.

                Also wir haben eine Software (TwinCAT) dort muss eine IP bzw. ID eingegeben werden (Format: z.B. 200.34.47.1.1.1).

                Da wir das bei einigen Usern in der Firma machen müssen und zurzeit diese IPs von Hand noch vergeben werden müssen, ist dies ein ziemlicher Aufwand (Nur wir, die Informatik können diese Werte anpassen, da lokale Adminrechte benötigt werden um diese Einstellung zu verändern).

                Da wir nun festgelegt haben, dass der mittlere Teil dieser ID aus dem Notebook-Namen besteht (200.[erster Teil der 4-stelligen Notebook-Nr.].[zweiter Teil der 4-stelligen Notebook-Nr.].1.1.1, wäre es für uns sehr praktisch diese direkt aus dem Notebook-Name "heraus" zunehmen und dann in der Registry ablegen zu können.

                Notebook-Name für dieses Beispiel: NBHW3447

                Nun zur Registry, in der Registry werden die Daten mit dem HEX Format abgelegt, dies sieht für die oben erwähnte IP folgendermassen aus: c8 22 2f 01 01 01

                Die Notebook-Nr. is der 22 2f Teil der Hex-Zahl.

                Ist dies nun immernoch möglich oder doch zu komplex?

                Vielen Dank für deine Antworten!

                Gruss Lars
                • 5. Re: Registry Einträge - REG_BINARY
                  Klaus Salger Expert
                  Hallo Lars,

                  das ist zu komplex für den NetInstall-standardumfang, aber dafür kann man ja z.B. VBS einbinden, z.B. so:

                  In dem NetInstall-Paket die letzen 4 Zeichen aus dem Computernamen extrahieren und zusammen mit den konstanten Bestandteilen in eine neue Variable schreiben. Den Registry-Pfad (Key und Value), in den das Ganze geschrieben werden soll ebenfalls in NetInstall-Variablen speichern.

                  Dann rufst Du per CallScript ein VBS auf, das die NetInstall-Variablen einliest, den String mit den 4 Zeichen des Computernamens in Hex umwandelt (bis auf die Punkte) und das ganze per WMI in die Registry schreibt. Wie das per WMI geht steht hier: http://msdn.microsoft.com/en-us/library/aa394600(VS.85).aspx.

                  Das ist sicherlich mehr Arbeit, als mal eben einen NetInstall-Befehl aufzurufen aber ist allemal machbar.

                  Alles klar?

                  Ciao
                    Klaus
                  • 6. Re: Registry Einträge - REG_BINARY
                    L4rS Rookie
                    Hey Klaus

                    Vielen Dank für die Antwort!

                    Ich werde mir das mal genauer anschauen und schauen wie weit ich da kommen werden!

                    Ob alles klar ist, sehe ich dann;-)

                    Gruss Lars
                    • 7. Re: Registry Einträge - REG_BINARY
                      vanGoo Rookie
                      Hi,

                      das mit dem VB-Script ist der richtige Ansatz, allerdings würde ich damit nur die Variablen setzen, an NetInstall zurückgeben und dort die Registry schreiben. Falls es nämlich zu Problemen kommen sollte, steht alles in den NI-Logs und die Fehlersuche geht schneller. :-)

                      Greez
                      vanGoo
                      • 8. Re: Registry Einträge - REG_BINARY
                        Klaus Salger Expert
                        Hallo Lars,

                        hast Du das Thema "Erzeugung der TwinCAT-ID" schon erledigt?

                        Falls nicht - ich hab mir das gerade spaßeshalber nochmal angeschaut und ein NetInstall-Script gemacht, das Du im Anhang findest.
                        Im NetInstall-Teil werden die dynamischen und statischen Teile der ID zusammengebaut und dann die Parameter für das VBS gesetzt. Im VBS wird dann der REG_BINARY-Key geschrieben.

                        Ich hab's nur recht flüchtig getestet. Falls das Thema noch offen ist düfte Dir das Script aber eine ganz gute Grundlage bieten.

                        Ciao
                          Klaus