Windows Hizmeti Nasıl Oluşturulur
Bazen, bilgisayarınızda oturum açmış olsanız da olmasanız da çalışmaya devam etmek için bir uygulamaya veya komut dosyasına ihtiyacınız vardır. Belki de bu, bağlantı noktalarını izlemek için bir PowerShell betiği(PowerShell script to monitor ports) veya ev ağınızda bir sayfa barındıran bir web sunucusudur(web server hosting a page on your home network) .
Mesele şu ki, bilgisayar açık olduğu sürece bir işlemin, komut dosyasının veya programın çalışmasını istiyorsanız, bir Windows Hizmeti(Windows Service) oluşturmanız gerekir .
Windows Hizmeti Oluşturmak için Neye İhtiyacım Var?(What Do I Need to Create a Windows Service?)
Windows 10'da bir (Windows 10)Windows hizmeti oluşturmak için birkaç önkoşul vardır:
- Bilgisayarda yönetici(Administrator) erişimi
- Hizmet olarak çalıştırılacak bir şey ( PowerShell Komut Dosyası(PowerShell Script) , program vb.)
- Emici Olmayan Servis Yöneticisi(Service Manager) ( NSSM ) yüklü
Emici Olmayan Servis Yöneticisi Nedir?(What Is the Non-Sucking Service Manager?)
Evet, böyle bir ismi açıklamadan bırakamazsınız. Elbette isim talihsiz ama yine de doğru. Emici Olmayan Hizmet Yöneticisi(Service Manager) ( NSSM ) , hem son derece güvenilir hem de yapılandırılabilir bir Windows hizmeti oluşturmanın tartışmasız en kolay yoludur . Ayrıca, ücretsiz ve Açık Kaynaklı Yazılım(Open Source Software) (OSS).
NSSM, Windows Komut İstemi(Windows Command Prompt) veya bir grafik kullanıcı arabirimi ( GUI ) aracılığıyla kullanılabilir. Bu, herkesin kullanabileceği anlamına gelir. NSSM, Windows 2000(Windows 2000) dahil olmak üzere Windows'un(Windows) herhangi bir sürümünde kullanılabilir . 32 bit ve 64 bit(32-bit and 64-bit) sürümleri vardır . 64 bit bilgisayar kullanıyorsanız, önce o sürümü deneyin. Çalışmazsa, 32 bit sürüme geri dönün.
NSSM'yi web sitesinden indirebilir(download NSSM from the website) , NSSM'yi Git'ten kopyalayabilir(clone NSSM from Git) veya NSSM'yi Chocolatey ile kurabilirsiniz(install NSSM with Chocolatey) . Chocolatey, Windows için bir paket yöneticisidir(Chocolatey is a package manager for Windows) . Kurulum(Installation) yöntemleri, kullandığınız rotaya bağlı olarak değişecektir. Lütfen(Please) NSSM'nin talimatlarına bakın . (NSSM)Örneğimiz için, NSSM web sitesinden indiriyor ve C:\WINDOWS\system32 içine kuruyoruz .
NSSM ile Windows Hizmeti Oluşturun(Create a Windows Service With NSSM)
Bu örnekte, CPU ortalama yük yüzdesini(CPU average load percentage) günlüğe kaydetmek için bir PowerShell betiğinden(PowerShell script) bir hizmet oluşturacağız .
- Bu betiği kopyalayın ve log-CPULoadPercentage.ps1 olarak başka kimsenin erişemeyeceği bir yere kaydedin. C:/Scripts dizinini oluşturup orada saklamayı deneyin. Ayrıca, Komut Dosyalarında (Scripts)Günlükler(Logs) adlı bir klasör oluşturun . Komut dosyasının yolunun C:/Scripts/log-CPULoadPercentage.ps1 olduğunu unutmayın . Buna daha sonra ihtiyacın olacak.
Not(Note) : Aşağıdaki tüm satırlar ve ardından # sembolü yorumdur ve komut dosyasını etkilemez.
CLS #Optional. I like to use this to clear the terminal when testing. #Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
- Bu, Windows Komut İstemi'nde(Windows Command Prompt) veya PowerShell'de yapılabilir. (PowerShell. )Yönetici olarak açın(Open it as Administrator) .
- nssm install logCPUAvg komutunu girin ve çalıştırın. NSSM hizmeti yükleyici(NSSM service installer) penceresi açılacaktır.
- (Click)Path: alanının yanındaki üç nokta düğmesine tıklayın , normalde C:\Windows\System32\powershell.exe'ye(powershell.exe ) gidin . powershell.exe'yi seçin. Yol :(Path:) ve Başlangıç dizini:(Startup directory:) alanları otomatik olarak doldurulacaktır.
- Argümanlar:(Arguments:) alanına şunu girin : -ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , burada son kısım PowerShell betiğinizin yolu ve betik adıdır.
- Ayrıntılar(Details) sekmesini seçin . Görünen ad:(Display name: ) alanına , hizmetin Windows Hizmetleri(Services) yöneticisinde olduğu gibi görünmesini istediğiniz şeyi girin . Ardından, Açıklama:(Description:) alanına ne yaptığını girin. Başlangıç türü: (Startup type: )Otomatik(Automatic) , Otomatik (Gecikmeli Başlatma)(Automatic (Delayed Start)) , Manuel(Manual) veya Devre Dışı(Disabled) olarak ayarlanabilir . Bu alıştırma için Otomatik(Automatic) iyidir.
- Oturum aç(Log on ) sekmesini seçin . Bu hesap(This account) : radyo düğmesini seçin ve hizmetin çalışacağı hesabı ve şifreyi girin. Hizmetin altında çalışacağı bir hesap seçmeniz gerekecek. İdeal olarak, yalnızca bu hizmeti çalıştırmak için oluşturulmuş bir Windows hesabınız olacaktır. (Windows)Bu hesabın izinleri yalnızca hizmetin yapması gerekenlerle sınırlı olmalıdır. Yerel Sistem hesabını(Local System account) seçebilirsiniz , ancak güvenlik nedeniyle önerilmez.
Hizmeti özelleştirmek için kullanılabilecek birkaç sekme daha vardır. Bu alıştırma için bu sekmelerdeki varsayılan değerler yeterlidir. Hizmet yükle(Install service ) düğmesini seçin .
- Hizmet kurulduğunda, Service “logCPUAvg” installed successfully! pencere. Kapatmak için Tamam'ı(OK) seçin . Bu, kurulumu tamamlar.
- Windows Hizmetleri Yöneticisi'ni(Windows Services Manager ) açın ve hizmetin orada olduğundan emin olun.
- Çalışacağından(Run) emin olmak için hizmeti çalıştırın.
- Bu hizmetin çalıştığını doğrulamak için, var olup olmadığını görmek için günlüğün kaydedilmesi gereken yere gitmek için Dosya Gezgini'ni kullanın.(File Explorer )
nssm-check-log.png
NSSM ile Windows Hizmetini Kaldırma(Removing a Windows Service With NSSM)
Belki artık CPU yükünüzü izlemenize(monitor your CPU) gerek yoktur , bu nedenle hizmetten kurtulmak istersiniz. Neyse ki, NSSM bunu kolaylaştırıyor.
- Windows Hizmetleri Yöneticisi'nde(Windows Services Manager) hizmeti durdurun . Bunu, Günlük CPU Ortalama Yükü(Log CPU Average Load ) hizmetini seçip ardından araç çubuğundaki kare durdurma düğmesini veya sol taraftaki Hizmeti durdur bağlantısını seçerek yapın.(Stop the service)
- Windows Komut İstemi'ni(Windows Command Prompt ) veya PowerShell'i(PowerShell) Yönetici olarak açın .
- nssm remove logCPUAvg komutunu girin ve komutu çalıştırın.
- NSSM sizden onaylamanızı isteyecektir. Evet'i(Yes) seçin .
- Hizmet kaldırıldığında, Service “logCPUAvg” removed successfully! Onayla. Tamam'ı(OK) seçin ve bitirdiniz.
Bu kadar. Hizmetin artık orada olmadığından emin olmak için hizmet yöneticisini kontrol etmek iyi bir fikirdir. Hizmeti hala görüyorsanız, ekranı yenilemeniz gerekebilir ve gitmiş olmalıdır.
Hizmetler, sürekli çalışması gereken, başarısız olmaları durumunda kendilerini yeniden başlatmaları veya mevcut kullanıcıdan farklı ayrıcalıklara ihtiyaç duyan uygulamaları veya komut dosyalarını çalıştırmanın harika bir yoludur. Tüm bunları yapmak için uygulamanıza veya komut dosyanıza ihtiyacınız yoksa, bunun yerine Zamanlanmış Görev kullanmayı(using a Scheduled Task) düşünün .
Related posts
IP Helper Service Windows 10'de Nasıl Etkinleştirilir veya Devre Dışı Bırakılır
DNS Client Service Windows 10'da grileşirse nasıl etkinleştirilir?
Windows Insider Service Windows 10'te Nasıl Devre Dışı Bırakılır
Windows 10 üzerinde Bonjour Service nedir?
Fix System Service Exception Error içinde Windows 10
Düzeltme Intel RST Hizmeti Windows 10'da Çalışmıyor
Make Firefox display Media Controls Windows 10 Lock Screen
Windows 10'teki Chrome'te Reader Mode'ü devre dışı bırakma veya etkinleştirme
Windows Update Hizmetinin Çalışmaması Nasıl Onarılır
New içinde Windows 10 version 20H2 October 2020 Update özellikleri
Create Windows 10 için PeperNote ile basit notlar
Event ID 158 HATA - Windows 10'de GUIDs assignment'ler
Windows 10 için Microsoft Remote Desktop Assistant
Ashampoo WinOptimizer optimize Windows 10 ücretsiz bir yazılımdır
Windows 10'de favori Website'inizi açmak için bir Keyboard Shortcut oluşturun
Waasmedic Hizmeti Nedir ve Güvenli mi?
Windows 10 için ücretsiz Battery Limiter software
Windows 10'da Sistem Hizmeti İstisna Durdurma Kodu Nasıl Onarılır
Windows 10'de Automatic Driver Updates Nasıl Devre Dışı Bırakılır
Uzun Path Fixer tool Path Too uzun hatları Windows 10'de düzeltecek