Software Stand der Clients auslesen

Post Reply
rap123
Posts: 3
Joined: 28. Mar 2008, 11:40
Contact:

Software Stand der Clients auslesen

Post by rap123 » 28. Mar 2008, 11:48

Hallo,

ich möchte aus der Empirum Datenbank, den aktuellen Softwarestand aus der Datenbank auslesen, also welche Pakete wirklich auf dem Client installiert ist.
Ich habe bis jetzt die Tabelle ArchiveDistJobs benutzt, aber die Lösung finde cih nicht so optimal, da dort auch die Deinstallation geloggt wird und ich so immer zu einem Paket den letzten Status auslesen müsste.
Ausserdem fehlen mir Informationen was die InstallModi
- Install
- Install(User)
- Install(Machine)
bedeuten.

Gruß
rap123

User avatar
pkleiber
Posts: 831
Joined: 08. Dec 2004, 13:48
Contact:

Post by pkleiber » 28. Mar 2008, 12:26

Wenn Sie Support Kunde sind, können Sie eine Doku zur Datenbank anfordern.

Welche Empirum Version haben Sie im Einsatz?
Patrick Kleiber
Support Engineer
Matrix42 AG

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG.

User avatar
Trickser
Posts: 560
Joined: 11. Oct 2006, 10:51
Location: Jülich
Contact:

Post by Trickser » 28. Mar 2008, 21:35

Hi,

ich würde die Inventory-Tabellen statt der ArchiveDistJobs nehmen in Verbindung mit der Clients-Tabelle. Das Log wirst du irgendwann bereinigen und dann sind deine Werte nur noch Schall und Rauch.

ArchiveDistJobs eignet sich nur für kurzfristig erforderliche Daten, z.B. Rollout-Überwachung, Fehler, Requirements, etc.

Gruß,

Micha.

rap123
Posts: 3
Joined: 28. Mar 2008, 11:40
Contact:

Post by rap123 » 01. Apr 2008, 15:03

ok, habe mir das mal angesehen. nutze zur zeit empirum2008 trial.

wann wird denn die InvSoftware aktualisiert? Nur wenn das inventory auf dem client angestossen wird, oder auch wenn der installer pakete nachinstalliert hat?

Und in meiner InvSoftware ist die SoftwareID komplett mit 0 ausgefüllt, in der Software hingegen ist die ID richtig. Ist das ein bug oder ein feature?


Weiterhin tauchen in der InvSoftware, nur die Software auf, die sich schon auf dem Client befunden hatte. durch das Inventory. In der ArchiveDistJobs stehen demnach nur die Informationen, die der Empirum Client installiert hat.
gruß

User avatar
Trickser
Posts: 560
Joined: 11. Oct 2006, 10:51
Location: Jülich
Contact:

Post by Trickser » 01. Apr 2008, 20:27

Hi,

2 paar Schuhe:

Log:

ArchivDistJobs enthält die Log-Einträge der Clients.

Wenn ein Client installiert, dann wird ein Log geschrieben (Running)
und wenn er fertig ist noch eins (success oder error)

Bei Paketen mit Userteil (/AW) erfolgt dies für den Maschinenteil einmal (Running, Success, Error), z.B. Install (Machine)
und dann jedes mal wenn ein Userteil läuft nochmal, z.B. Install (User)
Bei einem AW-Paket werden also mindestens 4 Logfiles geschrieben.

Die Log-Informationen stehen sofort zur Verfügung, wenn der Log-Service sie aus Configurator\Log eingelesen hat.

Aber: Wenn nach einiger Zeit das Log aufgeräumt wird, werden alte Werte gelöscht und damit vermutlich Deine Auswertungen verfälscht. Außerdem siehst du nur das alter der Loeinträge, nicht aber, ob der Client überhaupt noch lebt oder du eine Leiche in der DB hast. Ich bin noch nichtmal sicher ob die Logs gelöscht werden, wenn du den zugehörigen Client löschst.

Diese Informationen eignen sich meines erachtens am Besten für die Überwachung von Fehlern, da man die ja möglichst zeitnah für eine Reaktion braucht. Oder um mal eben zu sehen wie ein Rollout so läuft.

Inventory:

Die Inventardaten werden dann aktualisiert, wenn das Inventory ausgeführt wird, stehen also ggf. später zur Verfügung. Es empfiehlt sich also ein Inventory in der Genauigkeit wie man die Daten braucht durchzuführen. Die meisten meiner Kunden machen das über das Login-Script bzw. GPO und zusätzlich z.B. einmal im Monat per Paket (Damit fängt man auch die dauerangemeldeten User ein).

Das Inventory entspricht immer genau dem was auf dem Client installiert ist.
Nachteil: Du kriegst keine Errors raus, das Paket ist ja einfach nicht da, und die Daten liegen später vor.
Vorteil: du kriegst auch andere, nicht per Empirum verteilte Software raus, die Daten sind zuverlässig und so lange verfügbar wie der Client in der DB existiert, du kannst über das Inventory-Datum leichter erkennen, ob der Client noch lebt.

Warum die SoftwareID leer ist kann ICH dir nicht wirklich zu 100% erklären.
Wenn da was drinstehen sollte, dann müsste das jedenfalls die Dienste-Logik oder die Datenbank machen. Der Client weiss von der SoftwareID ja nix, der liest nur was in seiner DDC-Datei und in der swdepot.dds drinsteht, kennt also selber keine ID, braucht die nicht, kann sie aber auch nicht liefern.
Über den PackageName würdest du aber an die ID rankommen können, wenn du sie brauchst.

Gruß,

Micha.

rap123
Posts: 3
Joined: 28. Mar 2008, 11:40
Contact:

Post by rap123 » 04. Apr 2008, 14:18

d.h. wenn das inventory auf dem client ausgeführt wird, werden anschliessend die aufgenommen daten in die empirum datenbank InvSoftware geschrieben?

Das Problem ist nun das ich nun kein vernünftiges mapping auf die softwarepakete bekomme da die felder unterschiedlich sind, und ich dann nicht herausbekomme ob der Acrobat Reader 8.1.2, der Reader ist der in der Software tabelle drinsteht. Und somit kann ich nicht überprüfen, ob das Paket auch wirklich auf dem Client installiert ist.

Gruß
rap123

Post Reply

Return to “DBUtil”

Who is online

Users browsing this forum: No registered users and 4 guests