SCCM ile Windows XP client'lardan LocalAdmin bilgilerini raporlamak (1.Bölüm)

"Client'larımdan Local Admin bilgilerini SCCM ile nasıl raporlayabilirim?" sorusu ile bir çok zaman karşılaştım. Aslında System Center Configuration Manager ile standard olarak bunu yapmak mümkün değil. Fakat internet'te aradığınızda birçok bilgi bulabilirsiniz. Script yazmak ve WMI class'lar yaratmak gerektiğini anlayacaksınız ama neyi neden yapılması gerektiğini tam anlamak biraz zor olabiliyor.

Onun için çok kısaca bir örnek vererek Windows XP üzerinde çalışan SCCM agent'lerin yardımıyla LocalAdmin bilgisini nasıl System Center Configuration Manager konsolundan raporlayabildiğinizi anlatmaya çalışacağım. Bende bir çok kişi gibi araştırmalarıma başladığımda birden fazla yöntem olduğunu gördüm. Burada iki (yada üç) tane çok basit adim ile LocalAdmin bilgisini nasil alındığın ve bunun aslında nasıl çalıştığını göstereceğim.

Genel olarak iki tane script ve rapor için bir SQL query gerekmekte. Aşağıda script'leri ekledim - bunları internet'ten myitforum.com'da da bulabilirsiniz. SMS_DEF.mof ve CONFIGURATION.mof dosyaları \<SCCM_installation_folder>\inboxes\clifiles.src\hinv klasör altında bulabilirsiniz.

 

1. Bu script bir raporlama script'idir. Bu script SMS_DEF.mof a eklenir ve Configuration Manager'e Windows XP client'lardan local admin bilgilerini almasını söyler.

#pragma namespace ("\\\\.\\root\\cimv2\\sms")

 [ SMS_Report (TRUE),

  SMS_Group_Name ("LocalAdmins"),

  SMS_Class_ID ("MICROSOFT|LocalAdmins|1.0")]

class Win32_LocalAdmins : SMS_Class_Template

{

    [SMS_Report(TRUE), key]

          string AccountName;

    [SMS_Report(TRUE), key]

          string GroupName;

};

 

2. Bu script agent makinalarında bir WMI class oluşturmak için kullanılır. Client makina üzerinde local admin bilgisinin tutulduğu container'dir. Bu script'i CONFIGRUATION.mof dosyasına eklemeniz gerekiyor. Ekledikten sonra komut satırından configuration.mof dosyasını bir kere compile etmek gerekebilir. mofcomp configuration.mof ile yapılmaktadir.

 

 

#pragma namespace ("\\\\.\\root\\cimv2")

                        [union, ViewSources{"Select * from Win32_GroupUser where GroupComponent=\"Win32_Group.Domain='BUILTIN',Name='Administrators'\""},

                        ViewSpaces{"\\\\.\\root\\CIMV2"}, Dynamic : ToInstance, provider("MS_VIEW_INSTANCE_PROVIDER")]

                       

                        class Win32_LocalAdmins

                        {

                                               [PropertySources("PartComponent"), key] Win32_Account ref AccountName;

                                               [PropertySources("GroupComponent"), key] Win32_Group ref GroupName;

                        };

 

 

 3. Bu bilgileri SCCM konsolundan bir rapor çalıştırarak listelemek için aşağıdaki SQL query'yi kullanabilirsiniz.  

select distinct Name0 as 'Computer Name', substring(AccountName0,charindex('Domain=',Accountname0)+8,(charindex('Name=',Accountname0)-charindex('Domain=',Accountname0)-10)) as 'Domain Name', substring(AccountName0,len(AccountName0)-charindex('"',reverse(AccountName0),2)+2,charindex('"',reverse(AccountName0),2)-2) as 'User Name' from v_GS_SYSTEM INNER JOIN v_GS_LocalAdmins ON v_GS_SYSTEM.ResourceID = v_GS_LocalAdmins.ResourceID where (AccountName0 not like '%Administrator%' AND AccountName0 not like '%Domain Admins%') 

 

Bütün bu değişiklikleri yaptıktan sonra CONFIGURATION.mof'a eklediğimiz bilgiler SCCM server client'lara gönderip compile edecektir ve böylece Win32_LocalAdmins WMI class'ını oluşturacaktır. Bundan sonra yapılan HINV ile Windows XP'nin Local Admin bilgileri SCCM server'e ulaşacaktır.

Raporlamadan önce bunu bazi test client'lar için Resource Explorer'den de kontrol edebilirsiniz.

ÖNEMLİ NOT: bu blog post'taki scriptler sadece Windows XP'nin local admin bilgilerini raporlamak için kullanılabilir. Windows 2003 Server'den sonra çıkan işletim sistemler için kullanmanız gereken yöntemi bundan sonra yazacağım blog'ta anlatacağım.

REFERANS: https://www.myitforum.com/articles/8/view.asp?id=9735

Bu blogun 2. Bölüm'üne buradan ulaşabilirsiniz.

Altuğ ATAHAN