Windows Servis Yönetimi Nasıl Otomatize Edilir?
  1. Anasayfa
  2. Server Ailesi

Windows Servis Yönetimi Nasıl Otomatize Edilir?

1

Windows servisleri bir çok sistem uygulamasının ve programın kullandığı arabirimdir. Gerek işletim sistemi componentleri gerek 3. Party uygulamalar management için servislerin çalıştırılması ve işletilmesine gereksinim duyarlar.

Windows servis yönetimini anlamak için öncelikle Windows servislerinin ne olduğu ve hangi amaçlarla kullanıldığını bilmek gerekiyor.

Windows Servisleri Nedir ?

Windows servisleri Microsoft Windows işletim sisteminin core bileşenlerinden biridir. Sistemin ve uygulamaların kullandığı servisler herhangi bir user müdahalesine ihtiyaç duymadan uzun süreli işlemlerin oluşturulmasını, yürütülmesini ve yönetilmesini sağlar.

Herkesin anlayabileceği şekilde ifade edecek olursam. Bir kullanıcının bilgisayarı açtığını ve bir uygulamayı başlattığını düşünün, örneğin bir muhasebecinin muhasebe programını başlatması olsun. Bu programın başlatılması, yönetilmesi ve kapatılması tamamen bir kullanıcı müdahalesine gereksinim duyar. Kullanıcı müdahalesi olmadan bu uygulama çalışmaz, işlem yapmaz ve kapanmaz. Windows servisleri ise kullanıcının başlatmasına gerek kalmadan başlayabilir arka planda çalışabilir hatta kullanıcı oturumunu kapatsa bile bu servisler arka planda çalışmaya devam ettirebilir. Windows servisleri konfigürasyonla aksi belirtilmediği sürece bilgisayar açıldığında devreye girer.

Developerlar hizmet olarak yüklenen uygulamalar kullanarak kullanıcı müdahalesine gerek kalmadan processlerin işlemesini sağlayabilir. Özellikle sunucularda bu servisler çok kullanılır. Geliştiricilerin servis olarak yazmadığı bazı processler bile bir ara uygulama kullanılarak örneğin benim de kullandığım Firedeoman aracılığıyla servise dönüştürülerek kullanılabilir.

 

İki Güçlü Tool Powershell ve Service Controller ile Windows Services Management

Windows service management işlemlerine başlayalım service management yaparken Microsoft’un 2 güçlü toolu olan Powershell ve CMD ikilisinden yararlanacağız. Tüm işlemleri, tabiri caizse boynuzun kulağı geçtiği; powershell üzerinden yapamamızın nedeni birazdan bahsedeceğimiz service controller “sc config” işlemlerini powershell den yapamıyor olmamız. Bir cmdlet yüklenerek yapılabilir belki ama bunun için ekstra efor ve zaman harcamaya gerek yok bu iki güçlü toolu birlikte kullanarak service management nasıl basitleştirebileceğimize bir örnek üzerinden bakalım.

Ben çalışmamı kendi client bilgisayarımdan görece basit olarak vereceğim siz bu management ister 10larca servise sahip olan Exchange server üzerinde yapın veya kendi sunucularınızdaki specific servislerin üzerinde yapın fark etmiyor.

Ben Örneğimde bilgisayarımda çalışan Adobe’ait servisleri listeleyeceğim ve bu running durumda olan servisleri önce kapatıp sonra start typelarını disable yapacağım ki bir daha bilgisayarım açıldığında hiç bir zaman bu servisler çalışmasın.

Daha kolay anlaşılması için Steplerimizi listeleyelim ve sonrasında başlayalım.

  1. İstediğim servislerin listelenmesi ve durumlarının gözlenmesi
  2. Sconfig ile servislerin istediğim konfigürasyona getirilmesi
  3. Bir batch file yaratılarak bu servislerin otomatik olarak yönetilmesi ve sonraki servisler için referans dosya oluşturulması.

1 Numaralı steple başlayalım;

Powershell’i admin olarak açıyorum ve istediğim servislerin listelenmesini sağlıyorum. Kullanacağım komut aşağıdadır.

Get-Service – DisplayName "adobe*

 

Bu komutun anlamı displayname tanımı adobe belirlenmiş servisleri benim için listele.

Gelen çıktıda 4 adobe servisinin olduğunu ve running durumda olduklarını görüyorum.

İstediğimiz çıktıyı aldığmıza göre ilk adımımzı tamamladık, şimdi ikinci stepe geçebiliriz.

Hemen öncesinde Service Controller Command nedir kısa bir değinelim.

Windows işletim sistemi ve bir çok uygulamanın servisler dizinini kullandığını söylemiştik. Bu servislerin yönetimini gui ile service management (services.msc) ile yaparken. Çok daha fazla specific konfigürasyonu cli çalışan “Service Controller Command” ile yapabiliyoruz.

Örnek olarak hemen cmd açıp basit bir komut çalıştırabilirsiniz. Cmd açın ve “sc query” yazın çalışan tüm servislerin kısa bir displayini görün.

Tüm parametreleri görmek için Microsoft sayfasına gidebilirsiniz.

2- Sconfig ile servis konfigürasyonunun yapılması;

Adobe servislerimi listelemiştim şimdi yapacağım işlem; önce bu servisleri kapatmak, sonrasında ise servislerin bilgisayarın her açılışında tekrar çalışmaması için disable duruma gelmesini sağlamak olacak.

Başlat cmd yaparak command line administrator olarak açıyorum (Administrator olarak çalıştırmazsanız erişim engeli ile karşılaşabilirsiniz). Ve çalışan servisi durduruyorum

Net stop "AdobeARMservice"

 

Sonrasında AdobeARMservice servisin açılışta disable duruma gelmesini sağlıyorum

sc config "AdobeARMservice" start= Disabled

 

Yukarıda komutta disabled yerine auto, manual v.s yapmak için aşağıdaki parametreleri kullanabilirsiniz.

Sc config start parametreleri;

start= auto  -otomatik

start= demand  -elle

start= disabled  -disable

start= delayed-auto  -otomatik gecikmeli

Konfigürasyonu yaptığımıza göre üçüncü ve son kısım processleri otomatize etme kısmı

Başta istediğim şeye dönecek olursan Adobe’un çalıştırdığı servisleri belirlemek ve bu servislerin hepsini disable edip açılışta başlamasını engellemek.

Bu işlem için bir metin editöründe komut setimi düzenliyorum ve bat dosyası olarak kaydediyorum. Siz aşağıdaki komutu kopyalayarak kendinize göre düzenleyebilirsiniz.

@echo Servisler durduruluyor

Net stop "AdobeARMservice"

sc config "AdobeARMservice" start= Disabled

Net stop "AGMService"

sc config "AGMService" start= Disabled

Net stop "AGSService"

sc config "AGSService" start= Disabled

Net stop "AdobeUpdateService"

sc config "AdobeUpdateService" start= Disabled

Pause

 

Oluşturduğumuz script dosyasını çalıştırıp sonuçları görelim. Tüm servislerin durduğunu görüyoruz ve servis typeları disabled durumuna geliyor.

Son olarak Powershell komutumuzu kulanıp tüm konfigürasyonun istediğimiz gibi olduğunu görüyoruz.

Get-Service -DisplayName "adobe*" | Select-Object -Property *

 

Bu kaynak makale ile tüm windows servislerinizi cli üzerinden yönetebilir ve her zaman kullanacağınız scriptler yaratabilirsiniz.

Kaynak :

Bu konu ile ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:

www.mshowto.org

TAGs: Windows Services, Windows servisleri, Windows Servis yönetimi

Bu İçeriğe Tepkin Ne Oldu?
  • 2
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 1
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Ali Örtül, İstanbul Üsküdar doğuımludur. 10 yıldan uzun süredir IT sektöründe çalışan ve bir çok firmada farklı teknoloji ve projelerde görev alan Ali Kıdemli IT Profosyonelidir.Microsoft başta olmak üzere bir çok teknolojiye hakim olan Ali Microsoft Türkiye'de Windows Server Şampiyonu olarak tüm kanala En yeni Microsoft teknolojilerini aktardıktan sonra. Şu an dünyanın en büyük bankalarından birinde Microsoft Altyapı Danışmanı olarak çalışıyor.Türkiye IT sektörüne birikimlerini ve deneyimlerini paylaşarak destek olmayı misyon edinen Ali Örtül. Sıkı bir Green IT destekçisidir.MS, MCP, MCSA,MCSE, MCTS, MCITP, MCT ve CCNA ünvanlarına sahiptir.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. hocam, bu komut kullanılsa çalışmazmı?

    Bende Adobe servisleri olmadığı için audio servisleri için yaptım.

    Get-Service *audio* | Stop-Service -Force |Set-Service -StartupType Disabled

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir