none
SCCM 2007 Report für installierte Windows Updates für bestimmte Server RRS feed

  • Frage

  • Hallo zusammen,

    nachdem ich die ersten Probleme in SCCM nun behoben habe und auch solangsam einen Durchblick habe stehe ich vor der nächsten Frage bzw. Aufgabe

    Ich benötige einen Report der mir alle installierten Windows Updates bzw. den Compliance Statusvon z.B. Rechner die mir SRV beginnen anzeigt. Da meine SQL Kenntnisse ziemlich gering sind benötige ich hier etwas Unterstützung.


    Geht das Überhaupt was ich vor habe?

    Danke im Voraus

    Thorsten

     

    Donnerstag, 24. November 2011 08:02

Antworten

  • Ich würde erst einmal mit den bestehenden Webreports beginnen (Category "Software Updates") und deren Drilldown-Funktion verwenden. Diese Reports kann man dann als eine Art Vorlage (SQL-Query) verwenden, um einen angepassten zu erstellen.
    Torsten Meringer | http://www.mssccmfaq.de
    Donnerstag, 24. November 2011 09:20
    Beantworter
  • Properties des Reports -> Edit SQL statement -> Prompts -> Properties des Prompts -> Default value.
    Torsten Meringer | http://www.mssccmfaq.de
    Montag, 28. November 2011 15:08
    Beantworter
  • Ich kann's leider nicht live probieren, da v_GS_Maintenance_Slot0 nicht vorhanden, deshalb hier mal eine aus dem Kopf getippte SQL-Query ...

    select
          CS.Name0,
    ms.SlotNumber0,
    case
    when (sum(case when UCS.status=2 then 1 else 0 end))>0 then ('Needs '+(cast(sum(case when UCS.status=2 then 1 else 0 end)as varchar(10))+ ' Patches'))
    else 'Good Client'
    end as 'Status',
          ws.lasthwscan as 'Last HW scan',
          FCM.collectionID--,
    from
          v_UpdateComplianceStatus UCS
    left outer join dbo.v_GS_COMPUTER_SYSTEM  CS on CS.ResourceID = UCS.ResourceID
    join v_CICategories_All catall2 on catall2.CI_ID=UCS.CI_ID
    join v_CategoryInfo catinfo2 on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID and catinfo2.CategoryTypeName='UpdateClassification'
    left join v_gs_workstation_status ws on ws.resourceid=CS.resourceid
    left join v_fullcollectionmembership FCM on FCM.resourceid=CS.resourceid
    left join v_GS_Maintenance_Slot0 ms on ws.ResourceID = ms.ResourceID
    Where
          UCS.Status = '2'
    and FCM.collectionid = 'SWN001DF'
    Group by
          CS.Name0, 
          ms.SlotNumber0,
          ws.lasthwscan,
          FCM.collectionID
    Order by
          CS.Name0,
          ws.lasthwscan,
          FCM.collectionID


    Torsten Meringer | http://www.mssccmfaq.de

    Montag, 5. März 2012 11:56
    Beantworter

Alle Antworten

  • Ich würde erst einmal mit den bestehenden Webreports beginnen (Category "Software Updates") und deren Drilldown-Funktion verwenden. Diese Reports kann man dann als eine Art Vorlage (SQL-Query) verwenden, um einen angepassten zu erstellen.
    Torsten Meringer | http://www.mssccmfaq.de
    Donnerstag, 24. November 2011 09:20
    Beantworter
  • OK danke
    Donnerstag, 24. November 2011 09:23
  • Hallo mal wieder,

     

    ich habe da nochmal eine Frage zu den Reports. ihc habe in den Standard-Reports einen passenden gefunden. Wie kann ich den die Felder mit den "Required Fields" z.B. Vendor automatisch mit einem Wert hinterlegen?

    Hier der Report den ich verwenden möchte- Compliance 1 - Overall Compliance

    Danke

     

    Montag, 28. November 2011 14:14
  • Properties des Reports -> Edit SQL statement -> Prompts -> Properties des Prompts -> Default value.
    Torsten Meringer | http://www.mssccmfaq.de
    Montag, 28. November 2011 15:08
    Beantworter
  • Danke
    Montag, 28. November 2011 15:16
  • Hallo zusammen,

    ich kämpfe wieder mal bzw. immer noch mit den Reports.

    Was ich benötige ist ein Report in folgender Art und Weise. Es sollen mir für folgende OS die Compliance Status ausgegeben werden.

    Windows Server 2003

    Windows Server 2008

    Windows Server 2008 R2

    Am Besten sollte die Prüfung gegen eine bestehende Collection geprüft werden falls möglich aber wenn machbar nur gegen Systeme die auch den Client schon installiert haben (ist bis jetzt erst teilweise erfolgt).

    Wichtig wäre mir wie gesagt nur auf die Systeme in der bestimmten Collection.

    Kann mir hierzu jemand weiterhelfen?
    Danke im Voraus

     

    Gruß Thorsten

    Dienstag, 27. Dezember 2011 12:47
  • Hast Du denn schon einen Report, der grob anzeigt, was Du willst? Es wäre klasse, wenn Du dann dessen SQL-Statement posten könntest.
    Eine Einschränkung auf alle Rechner einer bestimmten Collection, eines bestimmten OS und auf "client = yes" ist dann einfach zu realisieren.
    Torsten Meringer | http://www.mssccmfaq.de
    Mittwoch, 28. Dezember 2011 16:19
    Beantworter
  • Hallo,

    ja ich habe bereits 2 Reports die meinen Ansprüchen grob entsprechen. Anbei die beiden SQL-Statements:

    Report 1: (zeigt die noch notwendigen Patches an!)

    select

          CS.Name0,

    case

    when (sum(case when UCS.status=2 then 1 else 0 end))>0 then ('Needs '+(cast(sum(case when UCS.status=2 then 1 else 0 end)as varchar(10))+ ' Patches'))

    else 'Good Client'

    end as 'Status',

          ws.lasthwscan as 'Last HW scan',

          FCM.collectionID--,

    from

          v_UpdateComplianceStatus UCS

    left outer join dbo.v_GS_COMPUTER_SYSTEM  CS on CS.ResourceID = UCS.ResourceID

    join v_CICategories_All catall2 on catall2.CI_ID=UCS.CI_ID

    join v_CategoryInfo catinfo2 on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID and catinfo2.CategoryTypeName='UpdateClassification'

    left join v_gs_workstation_status ws on ws.resourceid=CS.resourceid

    left join v_fullcollectionmembership FCM on FCM.resourceid=CS.resourceid

    Where

          UCS.Status = '2'

    and FCM.collectionid = 'SWN001DF'

    Group by

          CS.Name0,

          ws.lasthwscan,

          FCM.collectionID

    Order by

          CS.Name0,

          ws.lasthwscan,

          FCM.collectionID

    Report 2: (Auflistung des OS)

    SELECT
        rsys.Name0 AS 'Computer Name', Caption0 as 'Operating System',CSDVersion0 as 'Service Pack'
    FROM
        v_R_System rsys
        JOIN v_GS_OPERATING_SYSTEM os ON rsys.ResourceID = os.ResourceID
        JOIN v_FullCollectionMembership fcm on os.ResourceID = fcm.ResourceID
    WHERE
        fcm.CollectionID =  'swn001df'
    ORDER BY
        rsys.Name0

    Schön wäre es wenn ich eine Auflistung der fehlenden Patches in der Summe auf das jeweilige OS anzeigen könnte. Alternative wäre noch in einem prozentuellen Anteil.

    Danke für die Hilfe und Unterstützung.

     

    Donnerstag, 29. Dezember 2011 07:19
  • Hallo nach langer Zeit mal wieder in der Hoffnung mir kann jemand weiterhelfen

    ich bin immer noch bzw. wieder an dem Thema mit dem Report dran.
    Folgendes sollte eingentlich realisert werden aber ich bin nicht fündig geworden.

    Nochmals zum Afubau bzw. was beim Report rauskommen soll.

    Wir haben hier folgende Struktur in SCCM:

    - Automatic Server Update (dies ist eine Collection mit der ID: SWN001DC
    darunter befinden sich nun die Maintenance-Slots für unsere Server z.B.

    - Maintenance Slot1
       SERVERNAME1
       SERVERNAME2
    - Maintenance Slot2
      SERVERNAME3
    - Maintenance Slot3

    ...

    Nun möchte ich einen Bericht der mir zum einen Auflistet welcher Server sich in welchem Maintenance Slot befindet und wieviel Updates fehlen.

    Ich habe hier 2 Berichte aber irgendwie bekomme ich das nicht hin.
    Hier der Code

    Übersicht der fehlenden Updates

    select
          CS.Name0,
    case
    when (sum(case when UCS.status=2 then 1 else 0 end))>0 then ('Needs '+(cast(sum(case when UCS.status=2 then 1 else 0 end)as varchar(10))+ ' Patches'))
    else 'Good Client'
    end as 'Status',
          ws.lasthwscan as 'Last HW scan',
          FCM.collectionID--,
    from
          v_UpdateComplianceStatus UCS
    left outer join dbo.v_GS_COMPUTER_SYSTEM  CS on CS.ResourceID = UCS.ResourceID
    join v_CICategories_All catall2 on catall2.CI_ID=UCS.CI_ID
    join v_CategoryInfo catinfo2 on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID and catinfo2.CategoryTypeName='UpdateClassification'
    left join v_gs_workstation_status ws on ws.resourceid=CS.resourceid
    left join v_fullcollectionmembership FCM on FCM.resourceid=CS.resourceid
    Where
          UCS.Status = '2'
    and FCM.collectionid = 'SWN001DF'
    Group by
          CS.Name0,
          ws.lasthwscan,
          FCM.collectionID
    Order by
          CS.Name0,
          ws.lasthwscan,
          FCM.collectionID

    MaintenaceSlot

    SELECT     SlotNumber0, COUNT(*) AS total
    FROM         v_GS_Maintenance_Slot0
    GROUP BY SlotNumber0
    HAVING      (NOT (SlotNumber0 IS NULL))

    Danke

    Freitag, 2. März 2012 09:46
  • Jetzt bin ich es doch nochmal.

    Kann ich z.B. den MaintenanceSlot nicht in den ersten Report integrieren?

    Leider schaff ich das nicht.
    Danke

    Freitag, 2. März 2012 10:37
  • v_GS_Maintenance_Slot0 scheint eine selbst erstelle Klasse zu sein. Welche Spalten gibt's denn in den View?

    Torsten Meringer | http://www.mssccmfaq.de

    Freitag, 2. März 2012 16:58
    Beantworter
  • Hallo,

    hilft das weiter? Habe das SQL-Statement im Internet gefunden!

    Montag, 5. März 2012 10:13
  • Was immer auch v_GS_Maintenance_Slot0 genau beinhalten mag; der View enthält die ResourceID. Diese kannst Du zum Joinen anderer Views verwenden.

    Torsten Meringer | http://www.mssccmfaq.de

    Montag, 5. März 2012 10:57
    Beantworter
  • Ok aber wie kann ich z.B. die beiden Reports miteinander verbinden bzw. integrieren damit komme ich nicht klar?
    Montag, 5. März 2012 11:11
  • Ich kann's leider nicht live probieren, da v_GS_Maintenance_Slot0 nicht vorhanden, deshalb hier mal eine aus dem Kopf getippte SQL-Query ...

    select
          CS.Name0,
    ms.SlotNumber0,
    case
    when (sum(case when UCS.status=2 then 1 else 0 end))>0 then ('Needs '+(cast(sum(case when UCS.status=2 then 1 else 0 end)as varchar(10))+ ' Patches'))
    else 'Good Client'
    end as 'Status',
          ws.lasthwscan as 'Last HW scan',
          FCM.collectionID--,
    from
          v_UpdateComplianceStatus UCS
    left outer join dbo.v_GS_COMPUTER_SYSTEM  CS on CS.ResourceID = UCS.ResourceID
    join v_CICategories_All catall2 on catall2.CI_ID=UCS.CI_ID
    join v_CategoryInfo catinfo2 on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID and catinfo2.CategoryTypeName='UpdateClassification'
    left join v_gs_workstation_status ws on ws.resourceid=CS.resourceid
    left join v_fullcollectionmembership FCM on FCM.resourceid=CS.resourceid
    left join v_GS_Maintenance_Slot0 ms on ws.ResourceID = ms.ResourceID
    Where
          UCS.Status = '2'
    and FCM.collectionid = 'SWN001DF'
    Group by
          CS.Name0, 
          ms.SlotNumber0,
          ws.lasthwscan,
          FCM.collectionID
    Order by
          CS.Name0,
          ws.lasthwscan,
          FCM.collectionID


    Torsten Meringer | http://www.mssccmfaq.de

    Montag, 5. März 2012 11:56
    Beantworter
  • Hallo,

    vielen dank. Denke das passt 100%tig zu das was wir benötigen.

    Gruß

    Montag, 5. März 2012 12:06