Server 2019 Group Policy ile Yazılım Yükleme – Deploying Software using Group Policy
Merhaba bu makalemizde Windows Server 2019 işletim sistemi üzerinde, Active Directory ortamlarında Group Policy kullanarak yazılım dağıtımını ele alıyor olacağız. GPO ile genelde msi uzantılı dosyaların dağıtımı yapılmakta olup bu bağlamda elimizde msi kurulum dosyamızın olması gerekmektedir. Ancak exe uzantılı olan dosyaların msi olarak convert edilmesi işlemi de mümkün. Genelde msi uzantılarının dağıtımı tercih konusu olurken exe olan uzantılarında dağıtımı yapılabilmektedir. Ancak bu işlem tam olarak bir software dağıtım işlemi değildir. İşin özünde script yatmaktadır. Yine de https://www.cozumpark.com/group-policy-kullanarak-exe-uygulama-kurulmasi/ buradan durumu inceleyebilirsiniz.
Biz sözü uzatmadan adımlarımıza geçelim öncelikle ortamımızı tanıyalım. Bir domain Controller sunucumuz var üzerinde Windows Server 2019 Datacenter işletim sistemi ve üzerinde Active Directory rolü kurulu durumda. DC ismini verdiğimiz sunucu rizasahan.lokal isimli domainin sahibi.
Active directory yapımız aşağıdaki gibi. Test işlemlerimizde kullanabileceğimiz hesaplara sahip durumdayız.
Biz test işlemleri sırasında düzenli bir iş yapmak adına, uygulayacağımız group policy ilkesinin sadece istediğimiz kullanıcı ve bilgisayarları etkilemesi ayrıca bu durumu rahat yönetmemiz adına bir Organization Unit oluşturalım. Bu işlem için Domain ürün ağacı üzerinde sağ tıklatıp açılan menüden New->Organization Unit açılır menüsünü tıklayalım.
Oluşturacak olduğumuz Organization Unit için bir isim verip OK ile Organization Unit’imizi oluşturalım.
YAZILIM_DAGITIM isimli Organization Unit’imiz oluştu ve içerisine test işlemlerinde kullanmak için bir kullanıcı ve bu kullanıcıya ait computer ojbesini taşıdık.
Yine test işlemlerimizde kullanılmak üzere mevcut Domain yapımıza üye edilmiş, Windows 10 Pro işletim sistemine sahip RIZAS isimli bir bilgisayarımız var.
Ortam hakkında bilgi verdikten sonra, Group Policy Management konsolumuzu açalım ve işlemlerimize başlayalım.
Biz mevcut olan policy üzerinden yazılım dağıtım işlemi yapmayacağız. Her zaman farklı türden işlemler için yeni policy tanımlamak ve mevcut sistem policy öğelerine hiç dokunmamak önerilen ve sağlıklı olan metottur. Bu nedenle yeni bir group policy ilkesi tanımlayacağız.
Test işlemleri yapacak olduğumuz, kullanıcı ve bilgisayarı içerisine taşıdığımız YAZILIM_DAGITIM organization unit’i üzerinde sağ tıklayalım ve açılan menüden Create a GPO in this domain, and Link it here… açılır menüsüne tıklayalım.
Oluşturulacak olan GPO ilkenize bir isim verip OK butonuna tıklayarak oluşmasını sağlayalım.
Gpo ilkemiz oluştu.
Şimdi yazlım dağıtımı için GPO üzerinde işlemlerimize başlayabiliriz. Bu işlem için GPO ilkesi üzerinde sağ tıklayarak açılan menüden Edit’e tıklayalım.
Gpo editör ekranımız açıldı.
Software installation işlemleri user ve computer bazlı olarak uygulanabildiğinden dolayı iki mimarimizin altında yer almakta.
Biz ayarlarımızı yapmadan bazı gereksinimleri sağlamak zorundayız bu nedenle öncelikle bu işlemleri yerine getirelim. Öncelikle yazılım dağıtabilmemiz için yazılım dosyası olan Msi uzantısının olduğu setup dosyasına yazılım dağıtılacak olan hesapların erişim yetkisi olmalıdır. Bu nedenle GPO_Software_Deploy isimli bir klasör oluşturalım. Klasör ismini siz kendiniz dilediğiniz gibi verebilirsiniz.
Oluşturduğumuz klasöre paylaşım vermemiz gerekmekte. Klasör özelliklerine girerek Sharing tabına gelelim ve bu ekranda Share… butonuna tıklayalım.
Authencaticated Users grubuna okuma izni verelim. Güvenlik açıkları olmaması adına everyone gibi paylaşım yetkileri vermekten her zaman kaçının. Her zaman minimum hak verme konusunda kendinizi şartlayın. Ayarlarımızdan sonra Share butonuna tıklayalım.
Done butonu ile paylaşım verme adımını tamamlayalım.
Security kısmında yine Authencaticated Users grubuna okuma izni verdiğimizi kontrol edelim ve penceremizi kapatalım.
Biz GPO ilkemiz ile Firefox dağıtımı yapacağız. Bu nedenle dağıtım yapılacak olan Msi setup dosyamızı bu paylaştırdığımız klasör içerisine kopyalayalım.
Şu anda Firefox Setup dosyamız ilgili paylaşım alanımız içinde bulunmakta.
Şimdi GPO ilkemizi düzenleyebiliriz. Biz kullanıcı bazlı değil bilgisayar bazlı olarak yazılım dağıtım işlemi yapacağımız için GPO editör üzerinde Computer Configuration->Policies->Software Settings->Software installation kabına gelelim. Açılan ekranın sağ kısmında sağ tıklayarak açılan menüden New->Package… açılır menüsüne tıklayalım.
Açılan ekrandan Msi kurulum dosyamızın yolunu gösterelim. Paylaşımlı dosyamız sunucumuz üzerinde Sunucumuza erişip paylaşımlı klasörümüz olan GPO_Software_Deploy klasörümüzü açalım.
Klasörümüz içerisinden Firefox Setup msi dosyamızı seçerek Open butonuna tıklayalım.
Biz dağıtım yapıp extra bir işlem yapmayacağımız için Assigned seçimine müdahale etmeden OK butonuna tıklayalım.
Birkaç dakika içerisinde GPO editörü üzerinde oluşturduğumuz ilke içerisinde yer alacak olan Package konsolumuza eklenecektir. Eklendikten sonra dağıtıma hazır durumda olacaktır. Package bilgilerimiz aşağıdaki gibi gözükmekte.
GPO editör ekranımızı kapatıp, Group Policy Management konsolumuza geldiğimizde Setting tabında GPO ilkemiz içerisinde yer alan ayarları HTML olarak ön izleye bilirsiniz.
Ayarlarımızın geçerli olması için, beklenen etkileşim süresini beklemeden sunucumuz üzerinde gpupdate /force komutumuzu çalıştıralım.
Sunucumuz sonrasında kullanıcı bilgisayarımızda beklememek adına süreci elle tetiklemek için gpupdate /force komutunu çalıştıralım. Gelen soruyu Y ile geçelim.
Bu işlemden sonra oturumumuzun kapatılacağı bilgisi geliyor. Bekleyebilir veya süreci Kapat butonuna tıklayarak hızlandırabiliriz.
Oturumumuz yeniden başladı tekrardan oturum açalım.
Test ortamında olduğumuz için sistemlerimizin de hızlı olmasından kaynaklı olarak çok hızlı şekilde Firefox kurulumu yapıldı.
Denetim masası->Programlar ve Özellikler konsolu üzerinde durum aşağıdaki gibi.
Firefox sorunsuz olarak çalışır durumda.
Bu şekilde dağıtılmış olan uygulamaları kaldırma konusunda ise mevcut GPO üzerinde editleme ekranına geldiğimizde ekranda yer alan Package üzerinde sağ tıklatıp açılan menüden All Tasks->Remove… açılır menüsüne tıklayalım.
Açılan menüden Immediately uninstall the software from users and computers seçili durumdayken müdahale etmeden OK butonuna tıklayalım.
Süreci hızlandırmak için kullanıcımızda gpupdate /force komutumuzu çalıştıralım.
Gelen sorumuzu Y ile geçelim.
Oturumumuzu yeniden başlatalım.
Görüldüğü gibi uygulamamız GPO üzerinden kaldırıldı.
Bu makalemizin de sonuna geldik. Yararlı olması dileğiyle.
Eline sağlık.
Elinize Sağlık Rıza bey, Fakat benim şöyle bir derdim var belki yardımcı olabilirsiniz. Elimde jnpl uzantılı bir dosya var ve bunu gpo ile dağıtmak istiyorum fakat sadece msi. uzantılı dosya dağıttığı için olmuyor. Bir süredir arıyorum fakat bir yolda bulamadım. Bir yolu var mıdır.
GPO msi dışında bir şey dağıtmaz, bunun için ilgili dosyayı ya 3. parti programlar destekliyor ise msi yapmalı bunun için google a sorabilirsiniz ilgili dosya msi a dönüyor mu, dönmüyor ise Powershell veya komut seti ile logon script yapmanız gerekli. Ek sorunuz olur ise foruma sorabilirsiniz.
Hocam elinize sağlık, bir şeyi merak ediyorum GP ile setupı dağıttık ve sonrasın da kullanıcı uygulamayı sildi. Otomatik olarak o setup kullanıcılara dağıtılır mı?
GPO ile dağıtılan uygulama her açılışta sürekli yeniden kuruyor kendisini , bunun için bir kez policy çalışsın tekrar çalışmasın gibi özel durumlar belirtilebiliyor mu acaba.
GPO ile dağıtılan uygulama her açılışta sürekli yeniden kuruyor kendisini , bunun için bir kez policy çalışsın tekrar çalışmasın gibi özel durumlar belirtilebiliyor mu acaba.
Volkan bey bu durumda WMI Filter” veya “Item-Level Targeting” gibi filtreleme özelliklerini kullanabilirsiniz. Örnek bir WMI filter
SELECT * FROM Win32_OperatingSystem WHERE NOT EXISTS (SELECT * FROM Win32_Product WHERE Name = ‘YourApplicationName’)