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