Eğer altyapınızda SCCM gibi bir yönetim aracınız var ise çok güclü bir veritabanına sahipsiniz demektir. Bu veritabanını kullanarak çok çeşitli raporlar üretmeniz mümkün. Bu kısa makalede SCCM veritabanını kullanarak yüklü ofis sürümlerini ve kimlerde hangi sürümün yüklü olduğunu tek raporda üretmek için gerekli sorguları paylaşacağım.
Rapor oluşturma işlemi tamamlanınca elde edeceğiniz rapor aşağıdaki gibi olacaktır.
Bu raporla hem yüklü olan Microsoft Ofis yazlımlarının türünü ve sayısını ikinci tabloda ise hangi versiyonun kimlerde yüklü olduğunu ve toplam sayısını çok rahatlıkla görebiliriz. sorguyu text olarak paylaşacağım. istediğiniz eklemeleri çıkarmaları yapabilirsiniz. t-sql dili ile report builder üzerinden aynı dataset ile kendinize özgü raporu oluşturabilirsiniz.
anlaşıldığı üzere grup dataset’i ilk tabloyu hepsi dataset’i ise ikinci detaylı olan tabloyu içermektedir. table wizard kullanarak row,column, value değerlerini oluşturabilirsiniz.
Grup dataset’i için query;
select x.DisplayName0,count(*) from
(
select distinct (a.Netbios_name0),
os.Caption0 + ‘ ‘+ os.CSDversion0 as ‘Operating System’,addr.DisplayName0,addr.Version0
from v_r_system a
left outer join v_RA_System_SMSInstalledSites b on a.resourceid=b.resourceid
left outer join v_GS_WORKSTATION_STATUS c on a.resourceid=c.resourceid
left outer join v_GS_Operating_system OS on os.resourceid=a.resourceid
inner join v_GS_ADD_REMOVE_PROGRAMS addr on addr.resourceid=a.resourceid
where addr.DisplayName0 like ‘Microsoft Office %’ and
addr.DisplayName0 not like ‘%Language%’ and
addr.DisplayName0 not like ‘%service%’ and
addr.DisplayName0 not like ‘%web%’ and
addr.DisplayName0 not like ‘%Denetleme%’and
addr.DisplayName0 not like ‘%Outlook%’ and
addr.DisplayName0 not like ‘%Word%’ and
addr.DisplayName0 not like ‘%Excel%’ and
addr.DisplayName0 not like ‘%Powerpoint%’ and
addr.DisplayName0 not like ‘%Shared%’ and
addr.DisplayName0 not like ‘%SharePoint%’ and
addr.DisplayName0 not like ‘%Communicator%’ and
addr.DisplayName0 not like ‘%InfoPath%’ and
addr.DisplayName0 not like ‘%Groove%’ and
addr.DisplayName0 not like ‘%Access%’ and
addr.DisplayName0 not like ‘%OSM%’ and
addr.DisplayName0 not like ‘%Proof%’ and
addr.DisplayName0 not like ‘%Publisher%’ and
addr.DisplayName0 not like ‘%OneNote%’ and
addr.DisplayName0 not like ‘%Ekran%’ and
addr.DisplayName0 not like ‘%MUI%’ and
addr.DisplayName0 not like ‘%Visio%’ and
addr.DisplayName0 not like ‘%Developer%’ and
addr.DisplayName0 not like ‘%Primary%’ and
addr.DisplayName0 not like ‘%File%’ and
addr.DisplayName0 not like ‘%Project%’
) x
group by x.DisplayName0
Hepsi dataset’i için query:
select distinct (a.Netbios_name0),
os.Caption0 + ‘ ‘+ os.CSDversion0 as ‘Operating System’,addr.DisplayName0,addr.Version0
from v_r_system a
left outer join v_RA_System_SMSInstalledSites b on a.resourceid=b.resourceid
left outer join v_GS_WORKSTATION_STATUS c on a.resourceid=c.resourceid
left outer join v_GS_Operating_system OS on os.resourceid=a.resourceid
inner join v_GS_ADD_REMOVE_PROGRAMS addr on addr.resourceid=a.resourceid
where addr.DisplayName0 like ‘Microsoft Office %’ and
addr.DisplayName0 not like ‘%Language%’ and
addr.DisplayName0 not like ‘%service%’ and
addr.DisplayName0 not like ‘%web%’ and
addr.DisplayName0 not like ‘%Denetleme%’and
addr.DisplayName0 not like ‘%Outlook%’ and
addr.DisplayName0 not like ‘%Word%’ and
addr.DisplayName0 not like ‘%Excel%’ and
addr.DisplayName0 not like ‘%Powerpoint%’ and
addr.DisplayName0 not like ‘%Shared%’ and
addr.DisplayName0 not like ‘%SharePoint%’ and
addr.DisplayName0 not like ‘%Communicator%’ and
addr.DisplayName0 not like ‘%InfoPath%’ and
addr.DisplayName0 not like ‘%Groove%’ and
addr.DisplayName0 not like ‘%Access%’ and
addr.DisplayName0 not like ‘%OSM%’ and
addr.DisplayName0 not like ‘%Proof%’ and
addr.DisplayName0 not like ‘%Publisher%’ and
addr.DisplayName0 not like ‘%OneNote%’ and
addr.DisplayName0 not like ‘%Ekran%’ and
addr.DisplayName0 not like ‘%MUI%’ and
addr.DisplayName0 not like ‘%Visio%’ and
addr.DisplayName0 not like ‘%Developer%’ and
addr.DisplayName0 not like ‘%Primary%’ and
addr.DisplayName0 not like ‘%File%’ and
addr.DisplayName0 not like ‘%Project%’
Bu veritabanı üzerindeki tüm verileri çeker. filter eklemek istenilirse eğer ayrı bir dataset daha oluşturup collection seçimi sağlanabilir.
Sorgusu;
SELECT
v_Collections.CollectionName,v_Collections.SiteID
FROM
v_Collections
ORDER BY CollectionName
daha sonra bir where koşulu ile sorgulara ekleyebiliriz.
WHERE
v_ClientCollectionMembers.CollectionID = @CollecitonID
@CollecitonID parametresi otomatik oluşacağı gibi parameters kısmından siz de oluşturabilirsiniz.