1. Ana Sayfa
  2. Configuration Manager (SCCM)
  3. SCCM Software Updates Deployments Troubleshooting -3

SCCM Software Updates Deployments Troubleshooting -3

070418_0822_SCCMSoftwar1.png

SCCM Software Update Deployments altyapısı ile ilgili makale serisinin 3.’sünde sizlerle bazı dinamik SQL sorgular paylaşıyor olacağım.

Bildiğiniz gibi SCCM ile birlikte client veya Server’lardan çok fazla veri gelmektedir. Özellikle troubleshooting yapmak için hangi verinin hangi tabloda tutulduğunu, hangi view’lerin kullanıldığını bilmek, çözüme daha hızlı ulaşmamızı sağlayabiliyor.

Bu yüzden, öncelikle ’de hazır view’lere ait detay bilgilere aşağıdaki URL’den ulaşabilirsiniz.

https://gallery.technet.microsoft.com/SCCM-Configmgr-2012-R2-SQL-5fefdd3b

Şimdi sorgulara bir bakalım:

Query -1

Bu sorguyu çalıştırdığınızda hazırladığınız Software Update Groupların detay bilgilerine ulaşabilirsiniz.

select from fn_rbac_AuthListInfo(1033,‘disabled’)

Query-2

Bu query herhangi bir update group için deployment sonucunu bizlere göstermektedir. Sorguda status değerlerine baktığımızda 1 ve 3 compliant durumu,2 non-compliant durumu, 0 ise unknown (yani scan edilmemiş makineleri) durumu göstermektedir.

Yani Haziran 2018 için örneğin bir update group oluşturup deploy ettiğinizde scop_id yi değiştirip status u (1,3) seçmeniz durumunda update’leri yüklenmiş makine sayılarını bulabilirsiniz.

select t0.ResourceID,Max(t3.Netbios_Name0) Name0


from v_Update_ComplianceStatusAll t0

INNER JOIN v_ConfigurationItems t1 ON t0.CI_ID = t1.CI_ID

INNER JOIN fn_rbac_AuthListInfo(1033,‘disabled’) t2 ON t1.CI_UniqueID = t2.CI_UniqueID

INNER JOIN v_R_System t3 ON t0.ResourceID = t3.ResourceID

where status in (1,3)

and t2.CI_UniqueID =‘ScopeId_XXX’

group by t0.ResourceID

order by t0.ResourceID asc


Resim-1

Query -3

Agent ‘ın genel sağlık durumunu bu query ile alabilir ve buna göre özellikle wsusscan durum bilgisine göre analiz yapabilirsiniz.

A1.ResourceID as AgentHealthStatus_ResourceID,

DATEDIFF (day,A2.LastHWScan,GetDate()) AS LastHWScanDays,

DATEDIFF (day,A3.LastScanDate,GetDate()) AS LastSWScanDays,

DATEDIFF (day,A4.LastScanTime,GetDate()) AS LastWSUSScanDays,

case

WHEN DATEDIFF (day,A2.LastHWScan,GetDate())<14 tHEN ‘Healthy’ ELSE ‘UnHealthy’ end AS HWScanStatus,

case

WHEN DATEDIFF (day,A3.LastScanDate,GetDate())<14 tHEN ‘Healthy’ ELSE ‘UnHealthy’ end AS SWScanStatus,

case

WHEN DATEDIFF (day,A4.LastScanTime,GetDate())<14 tHEN ‘Healthy’ ELSE ‘UnHealthy’ end AS WSUSScanStatus

FROM v_r_system A1

LEFT JOIN v_GS_WORKSTATION_STATUS A2 ON A1.ResourceID = A2.ResourceID

LEFT JOIN v_GS_LastSoftwareScan A3 ON A1.ResourceID = A3.ResourceID

LEFT JOIN v_UpdateScanStatus A4 ON A1.ResourceID = A4.ResourceID

Query -4

Update deployment sonrasında Inprogress detay bilgileri aşağıdaki sorgu ile erişebilirsiniz.

select

distinct vr.ResourceID,vr.Netbios_Name0,StateName

from fn_rbac_CIAssignment(‘disabled’) a

    cross
apply(

    select StateType, StateID, ResourceID from
.fn_rbac_AssignmentState_Combined(‘disabled’) SC

    where AssignmentID=a.AssignmentID and StateType in (300,301)) sc

    left join fn_rbac_StateNames(‘disabled’) sn on sn.TopicType=sc.StateType and sn.StateID=sc.StateID

    left join v_r_system vr on sc.ResourceID=vr.ResourceID

where  (sn.TopicType = 301 and sn.StateID in(1,7,8,10))

and

a.AssignmentID in

(

select AssignmentID from fn_rbac_CIAssignment(‘disabled’)
where Assignment_UniqueID in

(

select DeploymentID = cia.Assignment_UniqueID

from fn_rbac_CIAssignment(‘disabled’) cia

left join fn_rbac_CIAssignmentToGroup(‘disabled’) atg on cia.AssignmentType=5 and atg.AssignmentID=cia.AssignmentID

left join fn_rbac_AuthListInfo(1033‘disabled’) grp on cia.AssignmentType=5 and grp.CI_ID=atg.AssignedUpdateGroup

where cia.AssignmentType in
(1,5)

)

)

Query -5

Software Update deployment failed alan makinelerin genel durum bilgisi, aşağıdaki sorgudan alınabilir.

select t1.ResourceID,vr.Netbios_Name0, t3.Hex,ISNULL(t3.Description,‘Unknown Error’)Description

from fn_rbac_UpdateAssignmentStatus_Live(‘disabled’) t1

INNER
JOIN


(

         select MAX(assc.LastEnforcementMessageTime)LastEnforcementMessageTime, assc.ResourceID


from fn_rbac_CIAssignment(‘disabled’) cia


join fn_rbac_UpdateAssignmentStatus_Live (‘disabled’) assc


on assc.AssignmentID = cia.AssignmentID


and isnull(assc.IsCompliant, 0)=0


and assc.LastEnforcementMessageID in (6,9)


join fn_rbac_R_System(‘disabled’sys on assc.ResourceID=sys.ResourceID and isnull(sys.Obsolete0,0)=0


where cia.Assignment_UniqueID

            in

            (    select DeploymentID = cia.Assignment_UniqueID

                from fn_rbac_CIAssignment(‘disabled’) cia

                left join fn_rbac_CIAssignmentToGroup(‘disabled’) atg on cia.AssignmentType=5 and atg.AssignmentID=cia.AssignmentID

                left join fn_rbac_AuthListInfo(1033‘disabled’) grp on cia.AssignmentType=5 and grp.CI_ID=atg.AssignedUpdateGroup

                where cia.AssignmentType in (1,5)

            )

            Group by assc.ResourceID

             ) t2 ON t1.ResourceID = t2.ResourceID and t1.LastEnforcementMessageTime=t2.LastEnforcementMessageTime

                LEFT OUTER JOIN [ErrorCodeDescription] t3 ON t1.LastEnforcementErrorCode = t3.SignedInt

                INNER JOIN v_R_System vr ON T1.ResourceID= vr.ResourceID

Hata kodlarına da bu query ile ulaşılabilir.

select
*
from [ErrorCodeDescription]


State tiplerine göre detay bilgilere de link’ten ulaşabilirsiniz.

https://technet.microsoft.com/en-us/library/bb932203.aspx

Bu query’leri (CM_XYZ) üzerinde çalıştırarak sonuçları görebilirsiniz.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: , , SCCM DB, SCCM Database, troubleshooting,

Yorum Yap

Yazar Hakkında

Ayhan Aksu, Kocaeli üniversitesi Elektronik ve Haberleşme Mühendisliği’nden 2010 yılında mezun olmuştur. Üniversite sonrası yaklaşık 6 yıl Sentim Bilişim Teknolojileri A.Ş.’de Microsoft ürünleri ile ilgili Teknik Danışman olarak çalışmış ve özellikle System Center ürünleri ile ilgili birçok projeye imza atmıştır. Şu anda IBTECH’de Sistem Mühendisi olarak çalışmaya devam etmektedir. Bilişim sektörünün içerisinde aktif olarak çalışmalarını sürdüren bir danışman olarak System Center ürün ailesi ve Microsoft Azure platformu ile ilgili danışmanlık hizmetlerine ve eğitimler vermeye devam etmektedir. Sahip olduğu bazı sertifikalar : MS: Implementing Microsoft Azure Infrastructure Solutions MCT: Microsoft Certified Trainer (Since 2013) MCSA: Windows Server MCSE: Cloud Platform and Infrastructure, Private Cloud, Server Infrastructure MCTS: Administering and Deploying System Center Configuration Manager, Designing, Assessing, and Optimizing Software Asset Management (SAM)

Yorum Yap