Active Directory ‘de objelerin açıklama kısımlarının olduğunu fark etmişsinizdir. Bir çok sistem yöneticisi bu alanı aktif olarak kullanmıyor. Bir Visual Basic Scripti ve Group Policy Objesi yardımıyla bu alanı daha işlevsel kullanmamız mümkün. Mesela bu alana hangi bilgisayarda en son hangi kullanıcı oturum açmış, son logon zamanı neymiş, bilgisayar marka ve modeli, seri numarası, işletim sistemi bilgilerini otomatik olarak yazdırabiliriz.
Gelelim nasıl yapacağımıza, öncelikle aşağıdaki kodu kopyalayıp notepad++ içine yapıştırın. Özellikle notepad++ diyorum çünkü notepad kullanırsanız kaydettiğiniz scriptte bazen kod dizimi hataları alabilirsiniz (Tecrübe ile sabit). Notepad++ uygun formatta kaydetmenize yardımcı olacaktır.
On Error Resume Next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colcomputersystem = objWMIService.ExecQuery("Select * from Win32_computersystem")
Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS")
For each objcomputersystem in colcomputersystem
Getcomputersystem = objcomputersystem.Model
GetComputerManufacturer = objcomputersystem.Manufacturer
Next
For each objBIOS in colBIOS
GetSerialNumber = objBIOS.SerialNumber
Next
Dim objSysInfo, objUser
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName)
Dim sSiteName : sSiteName = objSysInfo.SiteName
If Err Then
sSiteName = "Unknown"
Err.Clear
End If
if LCase(GetComputerManufacturer)="lenovo" then
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystemProduct")
For Each objItem in colItems
strModel = "Lenovo " & objItem.Version
Exit For
Next
Getcomputersystem = strModel & " (" & Getcomputersystem & ")"
end if
Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For each objOS in colOSes
GetOS = objOS.caption
GetArch = objOS.OSArchitecture
Next
strMessage = objUser.displayName & " - Logon: " & Date & " - " & Left(Time,5) & " / Model: " & Getcomputersystem & " / Serial: " & GetSerialNumber & " / OS: " & GetOS & " - " & GetArch
objComputer.Description = strMessage
objComputer.SetInfo
Sonra dosyayı istediğimiz bir isimle masaüstümüze kaydediyoruz. Örneğin ben WriteComputerDesc.vbs olarak kaydettim.
Şimdi Active Directory tarafına dönüyoruz. Oturum açan kullanıcının bilgisayarında otomatik olarak çalışacak bu scriptin Active Directory ‘de bilgisayar açıklamasına yazabilmesi için Authenticated Users grubu için Write Description atribute’une yazma yetkisi veriyoruz. Bunu yapmak için sırayla;
- Active Directory Users and Computers ‘ı açıyoruz.
- View menüsünden Advanced Features seçeneğini aktif ediyoruz.
- Domain ‘e sağ tıklayarak Properties ‘ı açıyoruz.
- Security sekmesinden Advanced butonuna tıklıyoruz.
- Add butonuna tıklakarak Authenticated Users yazıyoruz ve OK ‘e tıklıyoruz.
- Açılan pencereden Applies to: açılır listesinden Descendant Computer Objects ‘i ve ardından Write Description seçeneğini seçiyoruz.
Bundan sonra tek yapmamız gereken oluşturduğumuz scripti Group Policy ile dağıtmak. Bunun için Group Policy Management konsolunu açıyoruz. Ve yeni bir policy oluşturarak düzenliyoruz. Daha sonra aşağıdaki yolu takip ederek Logon scriptimizi çalıştıracağımız bölüme ulaşıyoruz.
User configuration > Policies > Windows Settings > Scripts > Logon
Sırayla Add ve Browse‘a tıklayarak oluşturduğumuz scripti Copy-Paste yöntemi ile açılan pencerenin içine yapıştırıyoruz ve seçip açıyoruz.
Scripti eklediğimize göre OK butonu ile yaptığımız işlemi kaydedip, Group Policy Editor ‘ü kapatıp Group Policy Management ekranına geri dönüyoruz.
Oluşturduğumuz Policy’i kullanıcıların bulunduğu OU’ya linkleyerek işlemi tamamlıyoruz.
Kullanıcılar Group Policy güncellemelerini aldıktan sonra Active Directory Users and Computer ‘daki bilgisayarlarınızın açıklaması aşağıdaki gibi görünecektir.
Bu yazımızda Active Directory ‘deki bilgisayar açıklama alanlarının VBScript & GPO yardımıyla otomatik olarak nasıl doldurulabileceğini göstermiş olduk. Umarım faydalı bir yazı olmuştur. Bir sonraki yazımızda görüşmek dileğiyle.