Seite 1 von 1
opsi-Pakete in Editor einpflegen
Verfasst: 29 Jul 2010, 15:00
von robbery
Hallo,
ich bin gerade auf der Suche nach einer Lösung, wie ich mehrere "Produktversionen" in ein Produkt zusammenfassen kann. Ich habe schon das Kapitel 6.2.3.2 im Handbuch ausprobiert, jedoch ohne erwünschten Erfolg.
Folgendes Szenario:
- ich möchte UltraVNC via opsi auf mehreren Rechner verteilen (soweit kein Problem)
- je nach Bereich im Unternehmen (z.B. Vertrieb, Verwaltung, etc.) gibt es ein anderes VNC-Passwort
- dieses Passwort steht in einer sog. "ultravnc.ini"
- diese "ultravnc.ini" kopiere ich via "Files_copy" nach der "winbatch_install" in den Programmordner (alles per opsi)
Von diesen ".ini-Dateien" gibt es 10 verschiedene - gibt es eine Möglichkeit, bei der Auswahl der anstehenden Aktion (hier "setup") für mein Produkt UltraVNC im ConfigEditor mehrere Felder in das Drop-Down-Menü einzufügen, mit denen ich dann meinen Bereich auswählen kann?
Oder wie kann man das noch lösen?
Denn ich möchte eigentlich vermeiden, für jeden Bereich/für jedes Passwort ein neues opsi-Paket im ConfigEditor zu erstellen...
Hoffentlich kann mir jemand weiter helfen - dankeschön.
Re: opsi-Pakete in Editor einpflegen
Verfasst: 29 Jul 2010, 16:00
von j.schneider
Für solche Dinge kann man ProductProperties verwendet.
Re: opsi-Pakete in Editor einpflegen
Verfasst: 29 Jul 2010, 16:50
von robbery
OK dann werd ich das morgen mit den Properties ausprobieren und auf einen Erfolg hoffen
Danke
Re: opsi-Pakete in Editor einpflegen
Verfasst: 19 Aug 2010, 16:21
von robbery
Ich bin es mal wieder...Bin lange nicht dazu gekommen, meinen OPSI weiter voran zu treiben, aber nun versuche ich mich wieder an den Properties für UltraVNC.
Die Properties einzubinden ist ja nicht das allzu große Problem (entweder über opsi-newprod oder im Nachgang über opsi-admin). Sie sind somit auch in meinem Config-Editor aufgelistet.
Allerdings habe ich noch keine Idee, wie ich die Properties in meiner Winst-Datei verdrahte, sodass ich bei der Installation auswählen kann, welche ini-Datei (die das jeweilige Bereichspasswort enthält) in den VNC-Programmordner gelegt wird...
Habt ihr vielleicht einen Skript, der mit Properties arbeitet? Oder könnt ihr mir direkt weiterhelfen (wäre natürlich noch besser

)?
Re: opsi-Pakete in Editor einpflegen
Verfasst: 19 Aug 2010, 20:06
von d.oertel
Hi,
die Winst Funktion heisst GetProductProperty
Handbuch:
GetProductProperty ($PropertyName$, $DefaultValue$)
wobei $PropertyName$ und $DefaultValue$ String Ausdrücke sind.
Ab opsi 3.0 liest die Funktion die client-spezifischen Property-Werte für das aktuell
installierte Produkt aus (gleichgültig, ob sie in einer Ini-Datei, im LDAP oder in einem
SQL backend gesichert sind).
Auf diese Weise können PC-spezifische Varianten einer Installation konfiguriert
werden.
So wurde beispielsweise die opsi UltraVNC Netzwerk Viewer Installation mit
folgenden Optionen konfiguriert:
viewer = <yes> | <no>
policy = <factory_default> |
Innerhalb des Installationsskript werden die ausgewählten Werte wie folgt abgerufen
GetProductProperty("viewer", "yes")
vglw.
GetProductProperty("policy", "factory_default"
In älteren Scripten wird statt Getproductproperty auch IniVar verwendet.
Beispiele:
http://download.uib.de/opsi3.4/experime ... 1.0-9.opsi (under construction)
http://www.opsi.org/opsi_wiki/WinstScripts
gruss
d.oertel
Re: opsi-Pakete in Editor einpflegen
Verfasst: 20 Aug 2010, 16:02
von robbery
Danke erstmal für die Antwort! Ich habe jetzt folgendes probiert:
Code: Alles auswählen
...
[Initial]
Message=Installiere Ultra VNC 1.0.5.6 .......
LogLevel=2
[Aktionen]
DefVar $Beschaffung$
DefVar $Controlling$
DefVar $Entwicklung$
Set $Beschaffung$ = "0"
Set $Controlling$ = "0"
Set $Entwicklung$ = "0"
if inivar("Beschaffung") = "on"
[Files_Copy_Beschaffung]
endif
ShowBitmap /3 "%scriptpath%\UltraVNC.png" "Ultra VNC"
WinBatch_install
Files_Copy_Beschaffung
[WinBatch_install]
%SCRIPTPATH%\UltraVNC_1.0.5.6_Setup.exe /silent /SP-/NORESTART
[Files_Copy_Beschaffung]
copy "%SCRIPTPATH%\ini\Beschaffung\ultravnc.ini" "%ProgramFilesDir%\UltraVNC"
Es erscheint dann im preloginloader aber die Fehlermeldung, dass ein endif in Zeile 15 fehlt (ist die Zeile, wo [FIles_Copy_Beschaffung] steht).
Und direkt in der if-Funktion ein "copy"-Befehl einfügen ging leider nicht, da dann die Fehlermeldung kommt, dass es ein undefiniert Kommando ist.
Code: Alles auswählen
if inivar("Beschaffung") = "on"
copy "%SCRIPTPATH%\ini\Beschaffung\ultravnc.ini" "%ProgramFilesDir%\UltraVNC"
endif
Oder muss ich den copy-Befehl deklarieren?
Re: opsi-Pakete in Editor einpflegen
Verfasst: 20 Aug 2010, 16:40
von embl-structures
robbery hat geschrieben:Danke erstmal für die Antwort! Ich habe jetzt folgendes probiert:
Code: Alles auswählen
...
[Initial]
Message=Installiere Ultra VNC 1.0.5.6 .......
LogLevel=2
[Aktionen]
DefVar $Beschaffung$
DefVar $Controlling$
DefVar $Entwicklung$
Set $Beschaffung$ = "0"
Set $Controlling$ = "0"
Set $Entwicklung$ = "0"
if inivar("Beschaffung") = "on"
[Files_Copy_Beschaffung]
endif
ShowBitmap /3 "%scriptpath%\UltraVNC.png" "Ultra VNC"
WinBatch_install
Files_Copy_Beschaffung
[WinBatch_install]
%SCRIPTPATH%\UltraVNC_1.0.5.6_Setup.exe /silent /SP-/NORESTART
[Files_Copy_Beschaffung]
copy "%SCRIPTPATH%\ini\Beschaffung\ultravnc.ini" "%ProgramFilesDir%\UltraVNC"
Das kann so nicht wirklich funktionieren, denn die Syntax des Aufrufes der Files-Sektion ist falsch (keine Klammern noetig) und nach dem if-Statement fuehrst Du Files_Copy_Beschaffung nochmals aus, also ohne die Bedingung des if-Statements zu beruecksichtigen. Etwas wie das hier koennte funktionieren:
Code: Alles auswählen
[Initial]
Message=Installiere Ultra VNC 1.0.5.6 .......
LogLevel=2
[Aktionen]
DefVar $Abteilung$
Set $Abteilung$ = GetProductProperty("Abteilung", "UNBEKANNT")
ShowBitmap /3 "%scriptpath%\UltraVNC.png" "Ultra VNC"
WinBatch_install
Files_Copy_Beschaffung
[WinBatch_install]
%SCRIPTPATH%\UltraVNC_1.0.5.6_Setup.exe /silent /SP-/NORESTART
[Files_Copy_Beschaffung]
copy "%SCRIPTPATH%\ini\$Abteilung$\ultravnc.ini" "%ProgramFilesDir%\UltraVNC"
Jetzt musst Du noch eine Produkteigenschaft "Abteilung" mit den entsprechenden Werten definieren und pro Wert ein Unterverzeichnis mit einem ultravnc.ini in %SCRIPTPATH%\ini\ generieren. Nicht vergessen, auch ein Unterverzeichnis fuer den Defaultwert ("UNBEKANNT") zu erstellen, um Fehlermeldungen zu vermeiden. Oder diesen Wert abfangen (aber das ist ein anderes Kapitel
Gruss
frank