1. Ana Sayfa
  2. Configuration Manager (SCCM)
  3. Kullanılmayan Programların Client Makinelerden Otomatik olarak Kaldırılması Bölüm-1

Kullanılmayan Programların Client Makinelerden Otomatik olarak Kaldırılması Bölüm-1

090618_1155_Kullanlmaya1.jpg

Hemen hemen bütün firmalarda, son kullanıcı makinelerinde kullanılan lisanslı uygulamaların maliyetleri, hem IT departmanı hem de yönetim için çoğu zaman fazla harcama olarak görülebilmekte ve bu maliyetleri düşürmek adına kullanılan uygulamaların envanterinin iyi yönetilmesi önemli hale gelmektedir.

Client makinelerde yüklü programların envanterini sayısal anlamda bir şekilde çıkartıyoruz ancak acaba bu makinelerde bu uygulamaların hangilerinin gerçekten kullanıldığının raporunu alabiliyor muyuz?

Birçok firmada gözlemlediğim kadarıyla, client yönetim yazılımı kullanılmasına rağmen özellikle software özelliği aktif olarak kullanılmıyor malesef. özelinde yazılım ölçeklendirme özelliğinin konfigürasyonunu yaparak birkaç program için metering rule yazıp aktif hale getirmekten öteye çok fazla kullanıldığını açıkçası ben çok göremedim.

İşte bu özellikle ilgili farkındalığı artırmak adına bu makale serisinde, belirli bir süredir kullanılmayan uygulamaların yüklü olduğu makinelerin tespit edilip, bu uygulamaların ilgili makinelerden uninstall edilerek envanterden düşürülmesi ve bu süreci de otomatik olarak nasıl gerçekleştirebileceğimizi anlatıyor olacağım. Bu süreçte SCCM ve Orchestrator ürünlerini kullanacağız.

Öncelikle, client makinelerde yüklü istediğimiz programların usage bilgilerine ihtiyacımız olduğundan SCCM Software Metering özelliğini nasıl kullanacağımıza bir bakalım.

SCCM Console -> Asset and Compliance -> Software Metering kısmına geliyoruz. Burada client makinelerden alınan envanterler doğrultusunda bazı programlara ait rule’ların olduğunu görebiliriz. Nedeni Software Metering özelliklerle ilgilidir. Şöyleki;

Default olarak, herhangi bir uygulama toplam client makine sayısının %10 ve daha fazlasında kurulu ise metering rule otomatik oluşur. Max. 100 adet rule oluşturulmasının yanısıra 90 günlük veriler database’de tutulmaktadır.

Not: Bu rule’lar otomatik oluştuktan sonra disable olarak gelir.

Resim-1

Otomatik rule’lar ile birlikte custom rule tanımı da yapılabilir. Biz de lisanslı bir yazılım olan Microsoft Visio programı için bir metering rule tanımı yapalım.

Software Metering bileşenine sağ click yaparak Create Software Metering Rule seçeneğini seçiyor ve devam ediyoruz.

Resim-2

Gelen ekranda Name kısmına ilgili programın adını anlayacağınız şekilde yazabilirsiniz. Burada önemli kısım file name kısmıdır. İlgili programın arka planda çalıştığı exe ismini doğru olarak giriyoruz. Version bilgisini “*” olarak bırakabilir, Language kısmını da default olarak geçebiliriz. İşlem sonrasında Next butonu ile ilerliyoruz.

Resim-3

Summary kısmında yapılan ayarları kontrol ederek Next butonu ile devam ediyoruz ve rule oluşturma işlemini tamamlıyoruz.

Resim-4

Gördüğümüz gibi rule oluşturmak oldukça kolay aslında ve Microsoft Visio programına ait client makinelerden usage bilgisini alabilmek için kuralımızı hızlıca oluşturduk ancak aktif hale getirmemiz gerekiyor. Bunun için de ilgili Rule’a sağ tıklayarak “Enable” seçeneğini seçiyor ve aktif hale getiriyoruz.

Resim-5

Software Metering için Client Settings ayarlarından Software Metering ve policy’leri de düzenlemek gerekiyor.

Özellikle makinelerde yüklü olup da kullanılmayan uygulamaların raporu için Software Inventory policy oldukça önemli. Detaylı olarak şöyle açıklayalım:

Software Metering’in Hardware Inventory ile bir bağlantısının olmadığını söyleyelim öncelikle.Yani client makinedeki envanter zaten hardware inventory policy ile alınıyor sadece metering rule’u aktif hale getirsek arka planda karşılaştırıp bize sonuc verir mi diye sorabilirsiniz. Arka planda böyle çalışmıyor malesef. Metering ile sadece client makinedeki çalışan process’lere bakılır. Yüklü olup olmadığı bilgisini alabilmek için Software Inventory policy’i de editlemek gerekmektedir.

Administration ->Client Settings -> Default Client Settings -> Software Inventory policy kısmına gelerek burada “Inventory these file types” seçeneğine geliyor ve Set Types diyoruz.

Resim-6

Gelen ekranda ilgili exe’leri tanımlamamız gerekiyor. Normalde “*.exe” ve “All Client hard disks” genelde yapılan bir tanım olmakla birlikte best practise de tavsiye edilmez. Bu şekilde yapılacak bir tanım sonrasında client agent, bütün hard disklerdeki bütün exe’leri taramaya çalışır bu da client makine sayısı fazla olan kurumlarda hem performans hem de verinin toplanması çok uzun süreceğinden metering bilgilerinde sorunlara sebep olabilmektedir.

Resim-7

Dolayısı ile de ilgili exe’leri ve disk part lokasyonlarını belirleyip tanımlamaları ona göre yapmak daha faydalı olacaktır. Biz de visio.exe’nin bu şekilde tanımlamasını yaparak devam ediyoruz.

Resim-8

Bütün bu ayarlardan sonra aşağıdaki raporun içeriğini kullanacağız:

“Computers that have a metered program installed but have not run the program since a specified date ”

Rapor, ilgili programın yüklü olup belirli bir zaman diliminde (aylık) kullanılmadığı makine bilgilerini vermektedir.

Resim-9

Raporu çalıştırıp “Microsoft Visio” ve Last Usage olarak da “Ağustos” ayını seçip View Report diyerek ilerleyelim.

Resim-10

Sonuçlara baktığımızda Ağustos ayına ait Visio yüklü olup kullanılmadığı makinelerin listesini görebiliriz.

Resim-11

Aşağıdaki sorguyu kullanarak da son kullanım süresini istediğimiz şekilde belirleyebilir ve bilgisini bu sorgu ile de database’den çekebiliriz.

declare @RuleID varchar(50)

SET @RuleID =‘Security Key yazılacak.’

declare @TimeKey nvarchar (50)

declare @LastUsage nvarchar (50)


set @TimeKey =
(select 100*DATEPART(YEAR,IntervalStart)+DATEPART(MONTH,IntervalStart)
from fn_rbac_SummarizationInterval(‘disabled’)
where
Datepart(month,IntervalStart)=Datepart(month,GETDATE()-90))

            set @LastUsage =
(select IntervalStart from fn_rbac_SummarizationInterval(‘disabled’)
where
Datepart(month,IntervalStart)=Datepart(month,GETDATE()-90))


select
sys.Netbios_Name0


from fn_rbac_R_System(‘disabled’)
sys


left
join fn_rbac_RA_System_SMSInstalledSites(‘disabled’) inst on
sys.ResourceID=inst.ResourceID


where
sys.ResourceID in


(


select
distinct ResourceID


from fn_rbac_MeterRuleInstallBase(‘disabled’) ib


inner
join fn_rbac_MeteredProductRule(‘disabled’) r on ib.RuleID = r.RuleID


where SecurityKey=@RuleID


)


and
sys.ResourceID not
in


(


select mus.ResourceID


from fn_rbac_MonthlyUsageSummary(‘disabled’) mus


join fn_rbac_MeteredFiles(‘disabled’) mf on mus.FileID=mf.MeteredFileID


where mf.SecurityKey=@RuleID


and mus.TimeKey>=@TimeKey


and mus.LastUsage>=@LastUsage


)


and
sys.ResourceID in


(


select colm.ResourceID


from fn_rbac_ClientCollectionMembers(‘disabled’) colm


join fn_rbac_Collection(‘disabled’) col on colm.CollectionID = col.CollectionID


)


and
sys.Client_Version0 >=
‘2.5’

order
by
sys.Netbios_Name0

Bu sorguda değiştirilmesi gereken bileşenler:

RuleID (Security Key) : Tüm metering rule’ları aşağıdaki sorgu ile çekebilirsiniz.

select
*
from fn_rbac_MeteredProductRule(‘disabled’)

Bizim oluşturduğumuz kural özelinde ise RuleID (Security Key) alabileceğimiz sorgu

select
*
from fn_rbac_MeteredProductRule(‘disabled’)

where ProductName like
‘%Visio%


Resim-12

LastUsage: Bu sorguda LastUsage son 3 ay olarak alınmaktadır. Dilerseniz sondaki 90 sayısını artırıp azaltarak süreyi kısaltabilirsiniz.

@LastUsage =
(select IntervalStart from fn_rbac_SummarizationInterval(‘disabled’)
where
Datepart(month,IntervalStart)=Datepart(month,GETDATE()-90))

Bir sonraki makalede bu sorguları da kullanarak Orchestrator üzerinde süreci iş akışı haline getirecek ve otomatize edeceğiz.

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

Referanslar:        

https://www.mshowto.org

TAGs: Metering, SCCM,Software Metering, ,,, , , Not Usage,,Software Inventory,

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