opsi-Pakete in Editor einpflegen

Antworten
robbery
Beiträge: 61
Registriert: 31 Mär 2010, 16:08

opsi-Pakete in Editor einpflegen

Beitrag 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.
Benutzeravatar
j.schneider
uib-Team
Beiträge: 2046
Registriert: 29 Mai 2008, 15:14

Re: opsi-Pakete in Editor einpflegen

Beitrag von j.schneider »

Für solche Dinge kann man ProductProperties verwendet.


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


robbery
Beiträge: 61
Registriert: 31 Mär 2010, 16:08

Re: opsi-Pakete in Editor einpflegen

Beitrag von robbery »

OK dann werd ich das morgen mit den Properties ausprobieren und auf einen Erfolg hoffen :)

Danke
robbery
Beiträge: 61
Registriert: 31 Mär 2010, 16:08

Re: opsi-Pakete in Editor einpflegen

Beitrag 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 :) )?
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: opsi-Pakete in Editor einpflegen

Beitrag 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


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


robbery
Beiträge: 61
Registriert: 31 Mär 2010, 16:08

Re: opsi-Pakete in Editor einpflegen

Beitrag 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?
Benutzeravatar
embl-structures
Beiträge: 327
Registriert: 13 Jan 2010, 18:41
Wohnort: Heidelberg
Kontaktdaten:

Re: opsi-Pakete in Editor einpflegen

Beitrag 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
Antworten