Prüfung auf neue Aktionen nach Abschluss?

Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von ueluekmen »

Ein paar Punkte, die vielleicht helfen:

1. Das silent_event heißt so, weil es (wie mein Kollege Niko schon sagte), dass der User davon nichts mitbekommt. Dieses Event hat aber noch eine besonderheit, er führt nämlich swaudit und hwaudit aus, egal ob diese Pakete auf setup stehen oder nicht und sonst macht dieses Event nichts, auch nicht wenn weitere Produkte auf setup stehen. Dass muss man Wissen. Die Motivation dieses Events war es, dem Helpdesk die Möglichkeit zu geben, während eines Calls sich aktuelle Infos zu hardware und Software des Callrequesters zu holen, ohne das der etwas beenden muss oder etwas sieht.
2. Es gibt pre_processor_action_command und das selbe auch noch mal als post_ Variante. Wie der Name schon sagt, läuft das eine vor dem opsiscript und der andere nach dem opsiscript. Der Vorschlag von Niko ist in diesem Fall wieder die richtige, weil das so funktionieren würde. Wenn du das im post machst, ist der opsiscript schon durch und hat alles abgearbeitet. Dass würde das swaudit erst beim nächsten Durchlauf aktiv abarbeiten.
3. Aus einem laufenden Event, kann man keine weiteren Events abfeuern, weil die Eventsteuerung im opsiclientd das verhindert. Ansonsten würden wir Gefahr laufen, dass eine laufende Installation von einem anderen Event torpediert wird.

So, dass ist erst mal vielleicht eine hilfe zu verstehen, was das eine oder andere macht.

Nun zu einer weiteren Tatsache: Das swaudit hat von Haus aus eine sehr niedrige Prio (-90). Das ist extra so festgelegt, da man in der Regel das Softwareaudit auch nach der Softwareverteilung frisch ziehen will.

Wie immer gibt es auch an diesem Punkt wieder mehrere Möglichkeiten. Man könnte das über eine Abhängigkeit lösen, aber dann müsste man in jedes Paket diese Abhängigkeit reinschreiben. Dann würde das Paket immer auf setup gesetzt werden, wenn irgendwas anderes auf setup gesetzt wird. Das über pre_... zu lösen hat den Charme, dass dieser Teil immer nur dann ausgeführt wird, wenn der opsiscript gestartet werden soll und das passiert immer nur dann, wenn Aktionen anstehen und in dem aktuellen Event auch aktionen ausgeführt werden sollen (gibt natürlich auch Events, wo bewusst keine Aktionen ausgeführt werden sollen.)

Ich habe diverse Ideen, wie ich es machen würde, aber die meisten davon sind zu kompliziert und ich wollte mit der Antwort auch Fragen klären und nicht neue schaffen. ;)

Eine andere Alternative wäre, dass Ihr InstallationByShutdown verwendet. Dann könntest du auch das Paket in irgendeinem Event auf setup setzen und es passiert erst mal nichts. Wenn der User aber seinen Rechner Rebootet oder Runterfährt, wird vor dem Shutdown dein swaudit abgearbeitet.


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


larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von larsg »

n.wenselowski hat geschrieben: Wann läuft das Programm?
Kein Programm, ich habe ein framework-paket, welches ich in alle meine Pakete integriert hab. Mit integriert habe ich ein Init- und ein Final-Skript, welches vor & nach jeder Ausführung einer Aktion läuft, hier wird nun das Produkt swaudit auf Setup gesetzt, nur leider zu spät.

Aber die Silent Option klingt viel besser und scheint echt genau das zu sein was ich suche, sofern der post_action_processor_command erst ausgeführt wird nachdem alle aktionen beendet wurden.

Habe mal testweise event_timer_silent aktiviert um zu sehen wie das am Client ausschaut - Leider klappt das bei mir noch garnicht, der Timer scheint nicht zu laufen.
Das muss ich noch ausgiebiger testen, hab nur leider aktuell keine Zeit dazu - ich werde mich hier melden sobald ich da was hab.
n.wenselowski hat geschrieben: Weil man damit ohne dass der User es sieht Installationen machen kann, deshalb quasi silent.
Ja, mich wunderte nur das es standardmäßig auf Ausführung von hwaudit/swaudit steht.
ueluekmen hat geschrieben: 2. Es gibt pre_processor_action_command und das selbe auch noch mal als post_ Variante. Wie der Name schon sagt, läuft das eine vor dem opsiscript und der andere nach dem opsiscript. Der Vorschlag von Niko ist in diesem Fall wieder die richtige, weil das so funktionieren würde. Wenn du das im post machst, ist der opsiscript schon durch und hat alles abgearbeitet. Dass würde das swaudit erst beim nächsten Durchlauf aktiv abarbeiten.
3. Aus einem laufenden Event, kann man keine weiteren Events abfeuern, weil die Eventsteuerung im opsiclientd das verhindert. Ansonsten würden wir Gefahr laufen, dass eine laufende Installation von einem anderen Event torpediert wird.
Aber wie setze ich ein Produkt auf dem ConfigServer via Commandline vom Client auf Setup :?

Das post_processor_action_command möchte ich nutzen, um darüber den gleichen Aufruf zu starten, wie aus dem silent_event, nachdem alle Aktionen am Client beendet wurden.
Du schreibst aber, das Ding wird ausgeführt bei jedem OpsiScript - also wirklich bei jeder Aktion bzw. jedem Paket?
Zuletzt geändert von larsg am 10 Aug 2016, 10:49, insgesamt 2-mal geändert.
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von ueluekmen »

larsg hat geschrieben:Ja, mich wunderte nur das es standardmäßig auf Ausführung von hwaudit/swaudit steht.
Das liegt daran, dass bei dem silent_install nichts zu sehen ist. Damit würde man nicht erkennen, wenn es ein Problem gibt und der opsiscript hängen bleibt und auf Userinteraktion wartet, was den Client in einen nicht managebaren Zustand versetzt. Genauso ist das Installieren während der User arbeitet sowieso schwierig, kennt man ja von on_demand, aber bei silent_install ist das noch um eine ganze Ecke gefährlicher.
Deshalb stehen nur die audit Pakete drin und eine geringer Timeout, der dafür sorgt, dass der opsiscript abgeschossen wird, wenn er nicht in der gegebenen Zeit fertig wird, egal in welchem Zustand.


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


larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von larsg »

ueluekmen hat geschrieben:
larsg hat geschrieben:Ja, mich wunderte nur das es standardmäßig auf Ausführung von hwaudit/swaudit steht.
Das liegt daran, dass bei dem silent_install nichts zu sehen ist. Damit würde man nicht erkennen, wenn es ein Problem gibt und der opsiscript hängen bleibt und auf Userinteraktion wartet, was den Client in einen nicht managebaren Zustand versetzt. Genauso ist das Installieren während der User arbeitet sowieso schwierig, kennt man ja von on_demand, aber bei silent_install ist das noch um eine ganze Ecke gefährlicher.
Deshalb stehen nur die audit Pakete drin und eine geringer Timeout, der dafür sorgt, dass der opsiscript abgeschossen wird, wenn er nicht in der gegebenen Zeit fertig wird, egal in welchem Zustand.
Hi,

ich hab deinen letzten Post leider zu spät gesehen und in meinem Post noch darauf geantwortet. Du warst scheinbar schneller :lol:
Zuletzt geändert von larsg am 10 Aug 2016, 10:57, insgesamt 1-mal geändert.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von pandel »

larsg hat geschrieben:
n.wenselowski hat geschrieben: Aber wie setze ich ein Produkt auf dem ConfigServer via Commandline vom Client auf Setup :?
siehe:

opsi-admin -d method setProductActionRequestWithDependencies

kombiniert mit:

opsi-admin -d method hostControl_fireEvent 'on_demand'
Zuletzt geändert von pandel am 10 Aug 2016, 10:57, insgesamt 1-mal geändert.
larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von larsg »

pandel hat geschrieben:
larsg hat geschrieben:
n.wenselowski hat geschrieben: Aber wie setze ich ein Produkt auf dem ConfigServer via Commandline vom Client auf Setup :?
siehe:

opsi-admin -d method setProductActionRequestWithDependencies
Das läuft aber auf dem Server, nicht auf dem Client.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von pandel »

Ach sooo... AUF der Kommandozeile des Clients... sorry, falsch verstanden...

Kein Problem, führ den Befehl via plink.exe aus, habe ich jahrelang in meinem oPB in der AutoIt version gemacht! Ich such mal den Befehl raus...
Zuletzt geändert von pandel am 10 Aug 2016, 11:27, insgesamt 1-mal geändert.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von pandel »

Also...

a) du holst dir erstmal die plink.exe von: http://www.chiark.greenend.org.uk/~sgta ... nload.html
b) dann startest du den Befehl zum Server ähnlich wie diesem hier:

Code: Alles auswählen

"<pfad zu plink>\plink.exe" -batch -P <ssh_port am opsiserver> <opsi adminuser>@<opsi config server> -pw "<passwort>" export PYTHONIOENCODING='utf-8'; opsi-admin -d method productOnDepot_getIdents
Im Prinzip ist es das, nur muss es passend umgebaut werden auf deinen Wunsch. Es wird etwas komplizierter mit der Schreibweise, wenn man Anführungszeichen oder Hochkomma escapen muss, da kann die Kommandozeile schon mal ziemlich wild aussehen. Wenn du da Hilfe brauchst, mach ich bei mir gerne nochmal ne Coderecherche ;-)

Solltest du das evtl. auch in AutoIt lösen wollen, weil's so schön einfach ist, schick ich dir, bei Interesse, gerne mal die betreffenden Routinen von mir...

EDIT
Es geht noch anders...

Erst alle auszuführenden Kommandos in eine Textdatei schreiben, bspw. plink.lst:

Code: Alles auswählen

export PYTHONIOENCODING='utf-8'
echo opsi-admin -d method setProductActionRequestWithDependencies activate-win host100.domaene.de setup
echo opsi-admin -d method setProductActionRequestWithDependencies adobe-photoshop-elements host100.domaene.de setup
echo "opsi-admin -d method hostControl_fireEvent 'on_demand' host100.domaene.de"
echo opsi-admin -d method setProductActionRequestWithDependencies activate-win host101.domaene.de setup
echo opsi-admin -d method setProductActionRequestWithDependencies adobe-photoshop-elements host101.domaene.de setup
echo "opsi-admin -d method hostControl_fireEvent 'on_demand' host101.domaene.de"
echo opsi-admin -d method setProductActionRequestWithDependencies activate-win host102.domaene.de setup
echo opsi-admin -d method setProductActionRequestWithDependencies adobe-photoshop-elements host102.domaene.de setup
echo "opsi-admin -d method hostControl_fireEvent 'on_demand' host102.domaene.de"
echo opsi-admin -d method setProductActionRequestWithDependencies activate-win host103.domaene.de setup
echo opsi-admin -d method setProductActionRequestWithDependencies adobe-photoshop-elements host103.domaene.de setup
echo "opsi-admin -d method hostControl_fireEvent 'on_demand' host103.domaene.de"
Dann via plink.exe die gesamte Datei auf einmal abfeuern, in dem man den Parameter "-m " & "<pfad zu dieser textdatei>\plink.lst" verwendet.
Zuletzt geändert von pandel am 10 Aug 2016, 11:26, insgesamt 1-mal geändert.
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von ueluekmen »

Ich noch mal... ;)

Bei der Variante brauchst du aber einen adminaccount und musst den mit hinterlegen. Bei der Variante vom Niko mit dem pre, kann man eine exe bauen, die den Account vom Client verwendet. Wenn Ihr das selber nicht hinbekommt können wir euch auch gerne eine Lösung dafür bauen. Wenn Ihr noch keinen Supportvertrag habt, könnte man das auch im Rahmen eines Einführungssupports umsetzen. Nur so als Angebot nebenbei. 8-)


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


pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Prüfung auf neue Aktionen nach Abschluss?

Beitrag von pandel »

Ja, das stimmt natürlich! Wenn du das als kleine exe verpackst, ist es aber vielleicht nicht ganz so wild. Du kannst sie ja auch im Rahmen des pre oder post auf die Kiste kopieren, den Befehl ausführen und wieder löschen...
Antworten