Silent Modus für Windows: HWAUDIT und SWAUDIT

matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Hallo Community,

es geht darum, dass wir unsere eingesetzten Rechner über Opsi gerne von der Hardware und Software inventarisieren möchten. Wir betreiben unseren Opsi Server selbst in der Version 4.2.
Hierbei habe ich auf allen Windows 10/11 clients und macOS Clients zunächst den Opsi client installiert (Pakete: opsi-client-agent, opsi-script). Das hat auch alles wunderbar geklappt, d.h. ich "sehe" diese Clients und kann eigene MSI-Pakete zur Installation via Opsi bspw. an unsere Windows 10/11 Clients verteilen.

Nun möchte ich Windows 10/11 und macOS Clients über hwaudit und swaudit inventarisieren, also regelmäßig automatisch im Silent-Modus.

In der Doku "opsi Handbuch" habe ich im Abschnitt "9.20. opsi Feature SilentInstall (frei)" eine interessante Stelle gefunden, wo man angeblich Pakete definieren kann, wo das funktionieren soll: "die Möglichkeit, Software bei Anwendern zu installieren, ohne dass diese bei Ihrer Arbeit gestört werden." oder "Alle Ausgaben werden unterdrückt und auf keinem Desktop angezeigt." oder "...Produkte werden abgearbeitet und müssen dafür nicht extra auf setup gestellt werden."

Nun steht dann das hier: "In der Standardkonfiguration wird mit diesem Modus swaudit und hwaudit über diese Methode installiert. Die Inventarisierungsprodukte von opsi erfüllen alle oben genannte Kriterien und eignen sich deshalb für diesen Modus. Mit der Standardkonfiguration wird die opsi Hard- und Software-Inventarisierung auf Wunsch ausgeführt, ohne dass die Pakete erst im opsi-configed auf setup gestellt werden müssen."

Das klingt genau nach was ich suche.

Im Doku-Abschnitt "9.20.4. Konfigurationen des opsi-Feature: SilentInstall" steht dann der Verweis auf die Datei "opsiclientd.conf".
Auf dem Windows 10 Testechner hat die Datei opsiclientd.conf (Speicherort: C:\Program Files (x86)\opsi.org\opsi-client-agent\ ) folgende Einstellungen:

Code: Alles auswählen

[event_silent_install]
super = default
type = custom
event_notifier_command = 
process_shutdown_requests = false
action_processor_command = %action_processor.command% /productlist %action_processor_productIds% /silent
action_processor_desktop = winlogon
action_processor_timeout = 300
action_processor_productids = swaudit,hwaudit

[event_timer_silentinstall]
super = silent_install
type = timer
active = false
interval = 21600
Wenn ich die Doku richtig verstehe, muss man nur den entsprechenden timer event aktivieren:
"Um das Event wie vorgesehen per Timer zu starten, genügt es eigentlich einen Hostparameter zu setzen. Dazu muss wie gewohnt erst eine Default-Konfiguration angelegt werden. In diesem Fall reicht es aus, das entsprechende Timer-Event zu aktiveren.

Ich habe daher die beiden Kommandos per SSH auf unseren Opsi-Server nacheinander ausgeführt:
"opsi-admin -d method config_createBool opsiclientd.event_timer_silentinstall.active "event_timer_silentinstall active" false"
und einmal für den Windows 10 Testrechner:
"opsi-admin -d method configState_create opsiclientd.event_timer_silentinstall.active HOSTNAME true"

Im Config Editor steht nun im Register "Host-Parameter" --> "opsiclientd" beim Property-Name "opsiclientd.event_timer_silentinstall.active" der Property-Wert "true" (vorher stand da nach absetzen des ersten Kommandos "false").

In der oben genannten Datei opsiclientd.conf steht aber leider immer noch "active = false". Und das trotz Rechnerneustarts. Was mache ich falsch, wann "zieht" sich der Rechner den veränderten Host-Parameter, so dass in der genannten Datei opsiclientd.conf "active = true" anstelle "active = false" erscheint? Bin ich zu ungeduldig ;) ?
PS: Ich habe gerade zumindest einmal manuell die Datei opsiclientd.conf auf einem anderen Windows 10 Testrechner bearbeitet und "active = true" gesetzt.

PS 2: anbei das Bild mit den "Beweisen".

Vielen Dank!

Viele Grüße,
Matthias
Dateianhänge
opsiclientd_silentinstall.png
opsiclientd_silentinstall.png (185.46 KiB) 1306 mal betrachtet
Zuletzt geändert von matthias.wolf am 27 Apr 2022, 15:27, insgesamt 1-mal geändert.
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Nachrag: bei einem dritten Windows 10 Testrechner steht in der opsiclientd.conf "automatisch" "active = true" im Abschnitt "event_timer_silentinstall".
Vorher hatte ich diesen Client über "opsi-admin -d method configState_create opsiclientd.event_timer_silentinstall.active hostname true" auch "aktiviert".
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Ich habe nun noch den Befehl mit übergeben:

"opsi-admin -d method config_createUnicode opsiclientd.event_silent_install.action_processor_productIds "event_silent_install productIds" "swaudit,hwaudit" "swaudit,hwaudit""
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Ich hatte heute Nacht alle Windows 10 Testrechner angeschaltet (angemeldet) gelassen. Laut Intervall hätte dann nach 6 Stunden swaudit und hwaudit ausgeführt werden müssen. Im Opsi Config Editor ist aber leider bei allen Testrechnern kein erster / neuer SW- und HW-Bericht angekommen.

Ich bin leider ratlos. Muss ich bei den entsprechenden Clients in der "Produktkonfiguration" im Opsi Config Editor bei "Angefordert" bei beiden Paketen (swaudit und hwaufit) vorab etwas einstellen, zur Auswahl stehen "none", "setup" und "always". Bei einem der Testrechner hatte ich bereits "setup" vorher hinterlegt und da erfolgte zumindest einmal eine erfolgreiche Berichterstellung beider Pakete. Seitdem aber bei dem Rechner nicht mehr.

Oder muss ich noch andere "Schalter" aktivieren bspw. in den Host-Parametern, oder bspw. auf unserem Opsi-Server eine Konfiguration noch anpassen, damit die Silent-Funktion auf den Rechnern ausgeführt wird?

PS: Bei einem Testrechner habe ich Testweise das Intervall manuell in der opsiclientd.conf Datei eben von 6 Stunden auf 1 Stunde verändert und den Rechner danach einmal neu gestartet, so muss ich wohl bei diesem Rechner nicht so lange auf eine Auslösung der Silent Events warten.

PS 2: Im Bild der Ausschnitt der "Host-Parameter", die für die Test-Clients eingestellt sind.

Für jede Hilfe dazu wäre ich Euch sehr dankbar.

Beste Grüße,
Matthias
Dateianhänge
rechner_2022-04-28_091411.png
rechner_2022-04-28_091411.png (34.24 KiB) 1243 mal betrachtet
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Noch ein kleiner Nachtrag.

Laut der Doku (opsi Handbuch --> Abschnitt "9.20.3. Auslösen der Silent Installation") kann man das Event für einen Client über die Konsole des Opsi-Servers angeblich auch auslösen.

Ich habe den Befehl "opsi-admin -d method hostControl_fireEvent silent_install HOSTNAME" gerade auf der Konsole abgesetzt (für einen der besagten Windows 10 Testrechner (dieser ist aktiv im Netz = eingeschaltet/angemeldet)).

Ich erhalte die im Bild angezeigte Meldung. Für mich sieht es so aus, als wenn es daran liegt, dass ein Netzwerkproblem vorliegt, also der Opsi-Server den Client "nicht sauber" dazu erreicht. Eine generelle Paketinstallation/Ausführung bspw. JEdit funktioniert aber über die Produktkonfiguration ("Setup").

Ich bin leider kein Linux Fachmann, um die Meldung genauer zu bewerten.

Danke!

Beste Grüße,
Matthias
Dateianhänge
bash_2022-04-28_091805.png
bash_2022-04-28_091805.png (43.77 KiB) 1242 mal betrachtet
Benutzeravatar
n.doerrer
uib-Team
Beiträge: 267
Registriert: 23 Okt 2020, 16:11

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von n.doerrer »

Hallo,

ja, das Vorgehen ist soweit richtig. Das Event event_timer_silentinstall kann per opsi-admin-Befehl oder im configed auf active=True gesetzt werden.
Damit die Änderung auch auf dem client ankommt muss irgendein Event laufen, z.B. gui_startup, on_demand oder timer. Ab dann weiß der Client von einer neuen Event-Konfiguration (und vermerkt diese auch in seiner opsiclientd.conf). Allerdings sind die Event-Generatoren für die neu aktivierten Events nocht nicht scharf. Dafür muss (aktuell noch) der opsiclientd einmal neugestartet werden (z.B. durch reboot oder einen "restart" rpc-call an den opsiclientd). Sobald das geschehen ist, sollte das neue event_timer_silentinstall laufen und je nach konfiguriertem Interval regelmäßig triggern.

Es ist nichts weiter nötig bezüglich der eingestellten Produkte (standardmäßig swaudit und hwaudit). Es spielt keine Rolle, ob für diese ein action-request gesetzt ist.

Das pauschale lostreten von silent_install ist auch über opsi-admin möglich.
opsi-admin -d method hostControl_fireEvent silent_install HOSTNAME
ist der richtige Befehl dafür. Eigentlich sollte das so klappen. Die Fehlermeldung suggeriert, dass der Host oder zumindest der port nicht erreichbar wäre. Das lässt sich testen, indem man per browser auf https://<client-fqdn oder ip>:4441 geht (ggfs Zertifikatswarnung ignorieren).
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Danke n.doerrer,

das von dir geschriebene überprüfe ich einmal zeitnah.
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Hallo n.doerrer,

leider war ich nicht erfolgreich. Ich habe in der OpsiClientd den Property des Wertes "opsiclientd.evemt gui.startup.active" von "false" auf "true" gesetzt. Ebenso habe ich über das Kontextmenü auf den Windows Client (= mein Laptop) "Opsiclientd-Event auslösen" die dort einzige angezeigte Möglichkeit "on-demand" ausgeführt. Hierbei erscheint, wie auf der Opsi-Server-Bash nach absetzen des Befehls "opsi-admin -d method hostControl_fireEvent silent_install HOSTNAME", dieselbe Fehlermeldung, wie am 28.04. bereits beschrieben.
Dieselbe Fehlermeldung erhalte ich ebenso auf einem macOS-Client, aber hier funktioniert automatisiert im Hintergrund nach x Stunden die swaudit und hwaudit Auslösung -> die Berichte werden mir für den macOS-Client im Reiter "Hardewareinformationen" und "Software-Inventur" angezeigt.
Auf meinem Windows 10 Client taucht in den beiden Registern aber nur ein alter Bericht vom 11.03.2022 auf, also wo ich manuell über die "Produktkonfiguration" für beide Pakete die Installation/Ausführung von "hwaudit" und "swaudit" ausgelöst hatte.

Anbei einmal die Screenshots bzgl. meines Windows 10 Clients und anbei eine "anonymisierte" opsiclientd.conf Datei von meinem Windows 10 Laptop (Speicherort: C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd). Ich habe in der Datei lediglich im Abschnitt "[event_timer_silentinstall]" den Wert des Intervalls auf 60 Sekunden gesetzt (Originalwert = 21600).

Mein Laptop wurde in der Zwischenzeit mindestens täglich einmal neu gestartet bzw. am Tagesende heruntergefahren.

Danke!
Dateianhänge
opsiclientd.conf.txt
Original Dateiname = opsiclientd.conf
(16.97 KiB) 48-mal heruntergeladen
opsi_2022-05-19_091628.png
opsi_2022-05-19_091628.png (85.36 KiB) 1040 mal betrachtet
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1354
Registriert: 01 Jul 2008, 12:10

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von wolfbardo »

matthias.wolf hat geschrieben: 19 Mai 2022, 10:00 Mein Laptop wurde in der Zwischenzeit mindestens täglich einmal neu gestartet bzw. am Tagesende heruntergefahren.
Heisst Neustart wirklich Neustart oder tut der nur so als ob?

Alternativ mal den Dienst opsiclientd neu starten.

Dann in den opsiclientd-Logs auf dem Client schauen bzw. in der timeline des Clients

Gruss
Bardo Wolf


OPSICONF 2024
https://opsi.org/en/opsiconf/

opsi-Basisworkshops:

22. - 25. 04. 2024


opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.

http://www.uib.de
matthias.wolf
Beiträge: 8
Registriert: 28 Feb 2022, 16:46

Re: Silent Modus für Windows: HWAUDIT und SWAUDIT

Beitrag von matthias.wolf »

Also Neustart heißt bei mir fast täglich einmal zumindest: WIN-Symbol aka "Start" --> "Ein/Aus" --> "Neu starten" ;) Und das habe ich definitiv bereits sehr oft getan.

Den Dienst opsiclientd habe ich so grob nach 13 Uhr heute zur Sicherheit auf meinem Laptop neu gestartet. Bisher ist leider nichts passiert, also kein neues Update im Reiter "Hardwareinformationen" und "Software-Inventur".

Ich habe über den Opsi Config Editor gerade in "Logdateien" --> "clientconnect" --> Event-Typ = "{all}" geschaut (Loglevel bis 7).
Darin finde ich lediglich die im Bild gefundenen braun/rot eingefärbten Bereiche aus dem Event-Typ "event processing timer" und "config cache service" (wobei sich einige dieser Bereiche in der Logdatei wiederholt auffinden lassen).

Hilft das gezeigte im Bild?

Danke!
Dateianhänge
Log_2022-05-19_150005.png
Log_2022-05-19_150005.png (62.34 KiB) 1023 mal betrachtet
Antworten