Page 1 of 1

Rückgabewert eines Scripts in Variable speichern

Posted: 22. Mar 2017, 09:55
by Sascha Offe
Hallo,

wahrscheinlich habe ich nur Tomaten auf den Augen, aber ich konnte weder in der Hilfe noch hier im Forum eine Antwort zu meiner vermutlich sehr einfachen Fragestellung finden:

Ich hab ein VBScript, das einen Textstring zurückliefert.
Diesen Wert ("bar") möchte ich in meiner Setup.inf in einer Variable ablegen und für weitere Zwecke nutzen.

Code: Select all

C:\>cscript.exe foo.vbs

bar
Also sinngemäß(!) in etwa so:

Code: Select all

[Set:Installation]
%MY_VALUE% = CallHidden cscript.exe "%Src%\foo.vbs"
CallHidden reg add HKLM\Software\Matrix42\Inventory /v Custom01 /t REG_SZ /d %MY_VALUE% /f
Nur hab ich das Variablenprinzig bei Empirum noch nicht durchschaut.
Gibt's dafür vielleicht eine Tutorial-Seite (in der Hilfe)?

Re: Rückgabewert eines Scripts in Variable speichern

Posted: 22. Mar 2017, 21:42
by Hendrik_Ambrosius
Das ist nicht vorgesehen. Also Umleitung in Datei und dann den Wert von dort auslesen.

Re: Rückgabewert eines Scripts in Variable speichern

Posted: 24. Mar 2017, 15:45
by Sascha Offe
Gut, hab ich dann so gelöst (Wert erzeugen, in Datei schreiben, Wert aus Datei wieder einlesen, in Registry ablegen, Datei löschen...).

In der EMC hatte ich schon über Tools -> Properties -> Additional Information für Custom01 die Designation "InfoX" (leer) angelegt.

Die taucht auch in den jeweiligen Computer Properties unter General -> Additional Information so auf.

Nun will ich ja aber nicht in der Konsole einen Value eintragen, der dann an den Client weitergereicht wird, sondern andersrum: Dort soll der auf dem Client erzeugte Wert ausgelesen und angezeigt werden, dafür ist der Bereich doch gedacht, oder?

Also lege ich in der Setup.inf einen Wert ("ValX") in HKEY_LOCAL_MACHINE\SOFTWARE\MATRIX42\Inventory -> Custom01 (REG_SZ) ab.

Inventory lief inzwischen nochmal durch, aber in der EMC ist der Wert für "InfoX" immer noch leer (hab mit "ValX" als Value gerechnet).

Was verstehe ich nicht?

Re: Rückgabewert eines Scripts in Variable speichern

Posted: 24. Mar 2017, 18:17
by Hendrik_Ambrosius
Wichtig ist bei 64bit Rechnern dass der Wert im 64 Bit Bereich steht, also NICHT unter HKLM\SOFTWARE\WOW6432Node\Matrix42\Inventory sondern unter HKLM\SOFTWARE\Matrix42\Inventory

Re: Rückgabewert eines Scripts in Variable speichern

Posted: 27. Mar 2017, 10:02
by Sascha Offe
... und jetzt, nach dem Wochenende, läuft's plötzlich, obwohl ich heute morgen noch nichts weiter am Paket verändert/angefasst habe. :roll:

Rechner wurde nur nochmal neu gestartet (was ich letzte Woche aber auch schon einige Male gemacht habe) und der Wert wurde zurückgemeldet und ist in der EMC unter 'Additional Information' sichtbar.

Wert in der Registry (ja, im 64-bit-Bereich) testweise nochmal verändert, erneut Neustart inkl. Inventory:
OK, auch der wird erkannt.

Konnte mein Anliegen so lösen; danke.