Windows Powershell ile Windows Servislerini Yönetmek – Part I

Powershell ile Windows servislerinizin durumunu anlık olarak öğrenebilir, servis ayarlarınızı hızlı bir biçimde konfigüre edebilirsiniz. Bunun için Powershell’de en sık kullanılan yöntemleri görelim.

Get-Service

Bu standard komut ile hızlıca anlık çalışan servisleri listeleyebiliriz.

Ayrıca her komuta uygulayabileceğimiz gibi Get-Member ile bu komutla birlikte kullanabileceğimiz parametreleri (aslında property ve method) görebiliriz. Bu sayede bu komutun döndürdüğü değerlerin neler olduğunu görebiliriz. Set-Service komutunu kullanırken işimize yarayacaktır.

Şimdi WinRm servisini örnek olarak ele alalım ve bu servisi konfigüre edelim.

Öncelikle Get-Service ile bu servisin tüm ayarlarını listeleyelim.

Get-Service winrm | fl *

 

Set-Service

Şimdi de bu servisin ayarlarını Set-Service komutu ile değiştirip düzenleyebiliriz. Aşağıdaki 4 ayrı örnekte WinRm servisinin Başlangıç tipini ayarlamak, servisi başlatmak ve servisi kapatmak gibi işlemler yer alıyor.

Set-Service winrm -StartupType Automatic

Set-Service winrm -StartupType Manual

Set-Service winrm -Status Stopped

Set-Service winrm -Status Running

 

Get-Service ve Set-Service komutlarının yanı sıra aşağıdaki diğer servis yönetim cmdlet’lerine de biraz bakalım.

Restart-Service

Son derece basit kullanımlı bir cmdlet. Zaten adında da anlaşılacağı gibi komutun sonuna servis ismini yazarak Restart edebiliyorsunuz.

Restart-Service WinRM

 

Start-Service & Stop Service

Evet bu ikili de adlarından anlışacağı gibi servisleri başlatıp kapatmak için kullanılacak. Şöyle mesela;

Start-Service WinRM

Stop-Service WinRM

 

Peki ismi win ile başlayan tüm servisleri bul ve başlat demek istersem;

Get-Service | where{$_.name -like "win*"} | start-service

 

 

Peki bütün Stop durumundan olan servisleri çalışır hale getirmek istersem;

get-service| where{$_.status -eq "Stopped"} | start-service

 

Bu kombinasyonları arttırabilirsiniz.

 

New-Service

Bu cmdlet ile yeni bir Windows servisini ekleyebilirsiniz. Daha önceden derlenmiş bir Windows servisiniz var ve bunu Windows içine deploy etmek istiyorsunuz.

New-service -Name "BakiOnur" -DisplayName "BakiOnur" -binarypathname "c:\test\services\" -Description "BakiOnur Windows Servisi" -StartupType Automatic

 

Böylece aşağıdaki resim oluşmuş oluyor.

 

Evet Powershell’in yukarıdaki komutları ile servislerinizi yönetmek kolay, peki başka powershell komutları yok mu servisleri yönetebilmek için?

Elbette var.

WMI !

 

Wmi ile Servis yönetimi yazısı için tıklayın