none
SCCM 2007 R2 - Reporting - Report 66 RRS feed

  • Allgemeine Diskussion

  • Hallo!

     

    ich habe ein "problem" mit dem o.g. Report. Und zwar, das problem ist das ich über meinen report scheinbar nicht die nachkommastellen der Version auswerten kann.

    Szenario, wir sind grade dabei unseren Symantec Virenscanner auf die neueste Version "11.0.6200.513" vorgänger ist "11.0.5002.290"

    Sodele, um das upgrade durchzuführen haben wir jetzt den Virenscanner für alle Clients mandatory zugewiesen, soweit sogut. Um das ganze "schöner" zu gestalten und den Rollout auch SCCM Seitig zu beobachten würde ich jetzt gerne eine Collection haben mit allen Rechnern mit 11.05.xx.

    Dafür habe ich eine Collection mit folgender Query gebaut:

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
    from SMS_R_System 
    inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_INSTALLED_SOFTWARE.ProductName = "Symantec AntiVirus" and SMS_G_System_INSTALLED_SOFTWARE.ProductVersion < "11.0.6200.513"



    So, toll.. in der Collection habe ich aber nur 15 Clients, und zwar die 15 Clients die eine Version 10.x haben, die 11.05er werden komplett ausgelassen.
    Um den Report auf SQL Ebene durchzuführen habe ich die Query folgendermaßen angepasst

    Select v_R_System.Netbios_Name0, v_R_System.User_Name0,v_GS_SoftwareProduct.ProductName, v_GS_SoftwareProduct.CompanyName, v_GS_SoftwareProduct.ProductVersion
    
    FROM v_GS_SoftwareProduct
    
    INNER JOIN v_R_System on v_GS_SoftwareProduct.ResourceID = v_R_System.ResourceID
    WHERE v_GS_SoftwareProduct.ProductName = 'Symantec AntiVirus' AND v_GS_SoftwareProduct.ProductVersion <'11.0.6200.513'
    
    Order by v_GS_SoftwareProduct.ProductVersion
    
    

    Da ich aber die SQL Query nicht einfach C&P'n kann bräuchte ich nun hilfe beim "übersetzen" der Query bzw eine Aussage warum die WQL Query nicht diesselben Ergebnisse liefert wie die SQL Query.

    Übrigens, was ist SMS_G_System_INSTALLED_SOFTWARE ? Ich finde diese Table bei mir gar nicht:...




    Viele Grüße
    ben

     

    Dienstag, 15. Februar 2011 10:30

Alle Antworten

  • ... and SMS_G_System_INSTALLED_SOFTWARE.ProductVersion < "11.0.6200.513"

    11.0.6200.513 ist keine Zahl, Du machst hier also nur einen String-Vergleich. Entsprechend "komisch" sind die Ergebnisse.
    SMS_G_System_INSTALLED_SOFTWARE (WMI-Klasse, kein SQL-View) ist eine Asset Intelligence-Klasse, die entsprechend nur vorhanden ist, wenn aktiviert.


    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 10:42
    Beantworter
  • Wie kann ich denn die WQL Query ändern dass die gewünschten Ergebnisse zutage kommen?

    AI ist an.

    Dienstag, 15. Februar 2011 10:57
  • Mit WQL hast Du eher schlechte Karten. Was willst Du denn genau erreichen? Nur den Rollout-Fortschritt über die Anzahl der Rechner in der Collection feststellen?
    Ggfs lässt sich auch mit Wildcards arbeiten: zB 11.0.[5-6]%. http://technet.microsoft.com/en-us/library/bb694123.aspx oder eine Collection erstellen, die alle Clients ausser 11.0.6200.513 enthält. Kommt aber eben auf den genauen Zweck der Collection an.


    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 12:17
    Beantworter
  • ich möchte eine Collection erstellen die alle Clients ausser 11.0.6200.513 enthält, aber genau dabei haperts. Daher auch der Ausdruck "< "11.0.6200.513" "

    Rollout Reporting über die Web-Gui funktioniert soweit eigentlich.

     

     

     

     

     

    Dienstag, 15. Februar 2011 12:36
  • oder eine Collection erstellen, die alle Clients ausser 11.0.6200.513 enthält
    Das sollte dann am einfachsten so gehen: http://mssmsfaq.de/index.php?option=content&task=view&id=78
    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 13:02
    Beantworter

  • Das sollte dann am einfachsten so gehen: http://mssmsfaq.de/index.php?option=content&task=view&id=78

    Torsten Meringer | http://www.mssccmfaq.de
    richtig, sollte :-)

    das problem ist aber hier genau dasselbe, die Version.

    MEine Collection mit folgender Query:
    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ProductName = "Symantec AntiVirus" and SMS_G_System_INSTALLED_SOFTWARE.ProductVersion like "11.0.6200.513"

    enthält nämlich keine Computer, so kann ich auch keine "verneinung" dieser collection erstellen.

    Wenn ich jetzt aber report 66 starte und dort Product Name & Version wie oben eintrage bekomme ich entsprechend einträge..
    Dienstag, 15. Februar 2011 13:19
  • Sind denn in der WMI (SMS_G_System_INSTALLED_SOFTWARE.ProductVersion)  überhaupt aktuelle Werte vorhanden? Sprich: lief die Inventur nach dem Upgrade schon?
    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 13:57
    Beantworter
  • Ich verstehe deine Frage nicht ganz.

    Ich hab aufjedenfall schon Clients mit 11.0.6 (schon länger, testclients) die auch schon die inventur gemeldet haben. wie gesagt in report 66 habe ich ja die daten vorhanden, greifen die beiden nicht auf denselben datenbestand zurück?

     

    Dienstag, 15. Februar 2011 14:02
  • Report 66 (v_GS_SoftwareProduct.ProductVersion = Software Inventory) und WMI (SMS_G_System_INSTALLED_SOFTWARE.ProductVersion = Hardware Inventory; der entsprechende SQL-View wäre v_GS_INSTALLED_SOFTWARE) sind unterschiedlich in dem Fall.
    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 14:47
    Beantworter
  • Select ProductName0, ProductVersion0 from v_GS_INSTALLED_SOFTWARE

    where ProductName0 = 'Symantec AntiVirus'
    order by ProductVersion0

    bringt mir genau 15 ergebnisse alle nur V. 10.0 und drunter, nichts mit V11.
    D.h. ich kann Collections nur auf Hardware Inventory basierend erstellen richtig?


    Dienstag, 15. Februar 2011 15:22
  • update dazu noch!

     

    Ich habe das Problem "gelöst"
    Wenn ich nämlich mit

    Select ProductName0, ProductVersion0 from v_GS_INSTALLED_SOFTWARE

    where Publisher0 = 'Symantec Corporation'

    order by ProductVersion0


    schaue wie der ProductName0 von der 11.0 Version ist, so hat sich dieser geändert. Im Hardware Inventory heisst es nämlich korrekterweise "Symantec Endpoint Protection"

    Bei Report 66 ist es nach wie vor Symantec AntiVirus... da ist der unterschied.

    habe jetzt zwei querys für die collection hinterlegt, einmal mit antivirus + einmal mit endpoint protect
    schliessen sich 2 queries aus? oder nimmt er dann beide unabhängig von einander?

     

     

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SoftwareProduct on SMS_G_System_SoftwareProduct.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SoftwareProduct.ProductName = "Symantec Endpoint Protection" and SMS_G_System_SoftwareProduct.ProductVersion < "11.0.6200.513"

     

    update2:

    ich verifiziere das mal mit meinem virenscanner kollegen und melde mich nochmal :-9

     

    • Bearbeitet gnatkopf Dienstag, 15. Februar 2011 15:33 update2
    Dienstag, 15. Februar 2011 15:25
  • D.h. ich kann Collections nur auf Hardware Inventory basierend erstellen richtig?
    Falsch. Es geht beides. Beide Client Agents können aber unterschiedlich konfiguriert werden, was das Intervall anbelangt. Du erhältst erst dann aktuelle Daten, wenn nach der Installation Hard- bzw Software-Inventur gelaufen sind.
    Torsten Meringer | http://www.mssccmfaq.de
    Dienstag, 15. Februar 2011 15:56
    Beantworter
  • zur info, ich hab's jetzt endlich geschafft :D

     

    select distinct SMS_R_System.Name from SMS_R_System where SMS_R_System.Name not in

    (select distinct SMS_R_System.Name from  SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where (SMS_G_System_INSTALLED_SOFTWARE.ProductName like "Symantec AntiVirus" or SMS_G_System_INSTALLED_SOFTWARE.ProductName like "Symantec Endpoint Protection")) and SMS_R_System.OperatingSystemNameandVersion like "%Workstation%"

    Freitag, 4. März 2011 08:16