Report erzeugen, der alle PCs mit einer bestimmten Software

Alles rund um den Report Designer in ACMP
Antworten
klenke
Beiträge: 23
Registriert: So Jan 12, 2014 3:25 pm

Hallo,

ich würde mir gerne Reports erzeugen lassen, in denen alle Clients aufgelistet werden, die eine bestimmte Software installiert haben.
Als Beispiel nehme ich mal Visio.

Ich wähle die Felder aus:
Computer Name, ACMP Client Mac Address, MSI Software Name, MSI Software Version (Mit den Variablen aus dem bereich Setup hatte ich es auch schon versucht)

Ich lege den Filter fest:
UND MSI Software Name LIKE %Visio% (mit IN und den jeweiligen Visiopaketen hatte ich es auch schon versucht)

Reihenfolge bearbeiten "Clients" ist ausgewählt

Das Ergebnis des Reports ist dann Eine wüste Liste von installierter Software, nur leider nichts nach dem Schema
PC X Visio Y

Es werden mit Teile des Grafikkartentreibers angezeigt, andere uninteressante Software, nur leider kein Eintrag mit Visio, auch wenn Visio definitiv auf einem PC installiert ist.

Für Tipps wäre ich sehr dankbar. Das das mit dem Filter eigentlich funktionieren müsste, sehe ich an den von mir definierten Containern.
Zuletzt geändert von klenke am Mo Sep 22, 2014 1:23 pm, insgesamt 2-mal geändert.
HDTewes
Beiträge: 21
Registriert: Mi Jun 26, 2013 1:43 pm

Der Sinn der Filter bei den Reports hat sich mir auch noch nicht ganz erschlossen, weil sie leider nicht bewirken, dass nur die betroffenen Clients im Ergebnis aufgenommen werden.

Man muss im Report davon ausgehen, dass alle Clients und alle Software aufgelistet werden. Daher muss man im Report entsprechenden Code einfügen, um die nicht erwünschten Ergebnisse auszublenden. Das kenne ich von anderen Reportgeneratoren anders.

Ich habe ihnen zwei meiner Reports ins Forum hochgeladen unter ACMP 4.0 / ACMP Downloads / Reports https://acc.aagon.com/viewforum.php?f=84. Dann können auch andere Anwender davon profitieren.

Ein Report enthält eine Liste der auf den Clients installierten Office-Versionen, hier stehen die zu suchenden Versionen im Quelltext.

Der andere Report fragt am Anfang nach dem Namen der zu suchenden Software. Geben sie z.B. "Mozilla Firefox" ein, werden alle Firefox Versionen auf den PC aufgelistet. Ich habe dort die Clients extra drin gelassen, die die zu suchende Software nicht enthalten, weil diese Information für mich wichtig ist.

Wenn sie noch Fragen zu den Beispielen haben können sie mich gerne kontaktieren.

Mit freundlichen Grüßen
Hans-Dieter Tewes
Hans-Dieter Tewes
Ruhr-Universität Bochum
IT.SERVICES
Universitätsstraße 150
44801 Bochum
Tel.: +49 (0)234 / 32-2 80 98

[mailto=]hans-dieter.tewes@ruhr-uni-bochum.de[/mailto]
klenke
Beiträge: 23
Registriert: So Jan 12, 2014 3:25 pm

Vielen Dank, ich werde mir das mal ansehen.
Dennis Koch
Beiträge: 501
Registriert: Di Nov 20, 2012 4:03 pm

Hallo,

die Filter arbeiten wie folgt.
Zeige mir alle Clients mit allen Daten wo die Filterbedingung xyz zutrifft.
Wenn man das ganze mit SQL abbilden würde, wäre die Syntax wie folgt.
Select * From Table1
Where Wert = 'xyz'

Hier würde man aber trotzdem alle Werte bekommen aber halt nur wo Wert mit xyz übereinstimmt.
Die Filterung der Ergebnisse muss dann im Report erfolgen. Hierfür wird in der Regel unter Ereignisse bei OnBeforePrint Code erzeugt welcher die Software herausfiltert.

Beispielcode:

procedure DetailData2OnBeforePrint(Sender: TfrxComponent);
begin
DetailData2.Visible := true;
if Pos('Hotfix',<SW Setup."Setup Software Name">) > 0 then
begin
DetailData2.Visible := false;
end;
if Pos('Sicherheitsupdate',<SW Setup."Setup Software Name">) > 0 then
begin
DetailData2.Visible := false;
end;
if Pos('Update',<SW Setup."Setup Software Name">) > 0 then
begin
DetailData2.Visible := false;
end;
end;
begin
end.

Hiermit werden dann SetupSoftwareName Einträge mit Hotfix, Sicherheitsupdate und Update ausgeblendet.
Mit freundlichen Grüßen / Best regards

Dennis Koch
Aagon GmbH
Antworten