Seite 1 von 1

[Solved] Abfrage des Script Typs

Verfasst: 23 Dez 2011, 12:29
von sch
Hallo zusammen,

ich würde gerne in meinem Script abfragen, welcher Typ gerade aufgerufen ist.

Ist es möglich diese Werte zu ermitteln?

setupScript
uninstallScript
updateScript

mfg

Re: Abfrage des Script Typs

Verfasst: 23 Dez 2011, 16:04
von d.oertel
Hi,

ab opsi-winst 4.11.2.1
http://download.uib.de/opsi4.0/testing/ ... 2.2-1.opsi
gibt es die Funktion
getProductMap // since 4.11.2.1
liefert eine info map über das opsi product welches gerade installiert wird.
Di Funktion arbeitet nur korrekt, wenn opsi-winst im opsi service mode aufgerufen wird.
keys sind: id, name, description, advice, productversion, packageversion, priority, installationstate, lastactionrequest,
lastactionresult, installedversion, installedpackage, installedmodificationtime
siehe Kapitel 7.4.1 Info-Maps in
http://download.uib.de/opsi4.0/testing/ ... ual-de.pdf

lastactionrequest liefert dann das was Du suchst.

saisonalen gruss
d.oertel

Re: Abfrage des Script Typs

Verfasst: 23 Dez 2011, 16:54
von Konstantin
Hi,

so geht es auch

[Initial]
SetLogLevel=9
ExitOnError=false
ScriptErrorMessages=on
TraceMode=off
StayOnTop=false

[Aktionen]
DefStringList $result$
DefVar $list$
DefVar $ActionRequest$

Set $result$=getReturnListFromSection("opsiservicecall_getProductInstallationStatus_hash")
set $list$ = takestring (3,$result$)

set $ActionRequest$=takestring (1, splitstring($list$,"="))

[opsiservicecall_getProductInstallationStatus_hash]
"method":"getProductInstallationStatus_hash"
"params":[
"%installingProdName%"
"%HostID%"
]


Gruß

Konstantin

Re: Abfrage des Script Typs

Verfasst: 10 Jan 2012, 12:49
von sch
Danke für die Antworten.

Ich habe es über

Code: Alles auswählen

Set  $ScriptType$ = getValue("lastactionrequest", $ProductMap$)
probiert.

Doch leider bekomme ich, wenn ich das Produkt auf Update setzte dennoch

Code: Alles auswählen

lastactionrequest=setup
anstatt wie erwartet

Code: Alles auswählen

lastactionrequest=update
In der Datei 'control' habe ich sowohl in der Action Setup wie auch Update, das Script setup.ins eingetragen. Beide rufen das delsub.ins auf. In der soll die Variable $ScriptType$ überprüft werden. Wenn diese auf "update" gesetzt ist, soll keine Deinstallation durchgeführt werden.

Re: Abfrage des Script Typs

Verfasst: 11 Jan 2012, 21:09
von d.oertel
Hi,
lastactionrequest liefert dann das was Du suchst.
sorry, da habe ich Unfug erzählt: Der aktuelle ActionRequest wird natürlich erst nach Abschluss der Aktion zum lastActionRequest.

Und den aktuellen ActionRequest hatte ich bei der Funktion getProductMap vergessen (nochmal sorry).

Ich habe das nachgeholt:
http://download.uib.de/opsi4.0/experime ... 2.4-1.opsi
liefert jetzt auch 'actionrequest'

gruss
d.oertel

Re: Abfrage des Script Typs

Verfasst: 12 Jan 2012, 11:05
von sch
Super!

Danke für die schnelle Antowort und den fix. Funktioniert jetzt wie erwartet!

Re: [Solved] Abfrage des Script Typs

Verfasst: 12 Jan 2012, 12:44
von d.oertel
Hi,

bitte den opsi-winst
http://download.uib.de/opsi4.0/experime ... 2.4-1.opsi

nochmal neu laden und installieren da war noch ein bug ...

gruss
d.oertel