Cara Membuat Layanan Windows

Terkadang Anda memerlukan aplikasi atau skrip untuk tetap berjalan baik saat Anda masuk ke komputer atau tidak. Mungkin skrip PowerShell untuk memantau port(PowerShell script to monitor ports) atau server web yang menghosting halaman di jaringan rumah Anda(web server hosting a page on your home network) .

Intinya adalah jika Anda ingin proses, skrip, atau program berjalan selama komputer menyala, Anda harus membuat Windows Service .

Apa yang Saya Butuhkan untuk Membuat Layanan Windows?(What Do I Need to Create a Windows Service?)

Untuk membuat layanan Windows di Windows 10 , ada beberapa prasyarat: 

  • Akses administrator(Administrator) di komputer
  • Sesuatu untuk dijalankan sebagai layanan ( PowerShell Script , program, dll.)
  • Pengelola Layanan(Service Manager) Non-Mengisap ( NSSM ) diinstal

Apa Manajer Layanan Non-Mengisap?(What Is the Non-Sucking Service Manager?)

Ya, Anda tidak bisa menjatuhkan nama seperti itu tanpa menjelaskannya. Tentu namanya disayangkan, namun akurat. Non-Sucking Service Manager ( NSSM ) bisa dibilang cara termudah untuk membuat layanan Windows yang sangat andal dan dapat dikonfigurasi. Plus, itu gratis dan Open Source Software (OSS).

NSSM dapat digunakan melalui Command Prompt Windows(Windows Command Prompt) , atau antarmuka pengguna grafis ( GUI ). Artinya siapa saja bisa menggunakannya. NSSM dapat digunakan pada semua versi Windows kembali ke, dan termasuk, Windows 2000 . Ada versi 32-bit dan 64-bit(32-bit and 64-bit) . Jika Anda menggunakan komputer 64-bit, coba versi itu terlebih dahulu. Jika tidak berhasil, kembali ke versi 32-bit. 

Anda dapat mengunduh NSSM dari situs web(download NSSM from the website) , mengkloning NSSM dari Git(clone NSSM from Git) , atau menginstal NSSM dengan Chocolatey(install NSSM with Chocolatey) . Chocolatey adalah manajer paket untuk Windows(Chocolatey is a package manager for Windows) . Metode penginstalan(Installation) akan bervariasi tergantung pada rute yang Anda ambil. Silakan(Please) berkonsultasi dengan instruksi NSSM . Sebagai contoh, kami mengunduh dari situs web NSSM dan menginstalnya di C:\WINDOWS\system32 .

Buat Layanan Windows Dengan NSSM(Create a Windows Service With NSSM)

Untuk contoh ini, kami akan membuat layanan dari skrip PowerShell(PowerShell script) untuk mencatat persentase beban rata-rata CPU(CPU average load percentage)

  1. Salin dan simpan skrip ini sebagai log-CPULoadPercentage.ps1 ke tempat yang kemungkinan tidak dapat diakses oleh orang lain. Coba buat direktori C:/Scripts dan simpan di sana. Juga, buat folder di Skrip(Scripts) bernama Logs . Perhatikan bahwa jalur ke skrip adalah C:/Scripts/log-CPULoadPercentage.ps1 . Anda akan membutuhkannya nanti.

Catatan(Note) : Semua baris di bawah yang diikuti dengan simbol # adalah komentar dan tidak akan mempengaruhi skrip.

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
  1. Ini dapat dilakukan di Windows Command Prompt atau PowerShell. Buka sebagai Administrator(Open it as Administrator) .
  2. Masukkan perintah nssm install logCPUAvg dan jalankan. Jendela penginstal layanan NSSM(NSSM service installer) akan terbuka.

  1. Klik(Click) tombol elips di sebelah bidang Path :, navigasikan ke powershell.exe yang biasanya terletak di C:\Windows\System32\ . Pilih powershell.exe. Bidang Path: dan Startup directory: akan terisi secara otomatis.

  1. Masukkan yang berikut di bidang Argumen:(Arguments:) -ExecutionPolicy -ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , di mana bagian terakhir adalah jalur ke skrip PowerShell Anda dan nama skrip.  

  1. Pilih tab Detail . (Details)Masukkan apa yang Anda inginkan untuk menampilkan layanan seperti di manajer Layanan (Services)Windows ke dalam bidang Nama tampilan:. (Display name: )Kemudian, masukkan fungsinya di bidang Description :. (Description:)Jenis Startup:(Startup type: ) dapat diatur sebagai Automatic , Automatic (Delayed Start) , Manual , atau Disabled . Untuk latihan ini, Otomatis(Automatic) bagus.

  1. Pilih tab Masuk . (Log on )Pilih Akun ini(This account) : tombol radio dan masukkan akun dan kata sandi tempat layanan akan dijalankan. Anda harus memilih akun tempat layanan akan dijalankan. Idealnya, Anda akan memiliki akun Windows yang dibuat hanya untuk menjalankan layanan ini. Izin akun ini harus dibatasi hanya untuk apa yang perlu dilakukan layanan. Anda dapat memilih akun Sistem Lokal(Local System account) , tetapi tidak disarankan karena alasan keamanan.

Ada beberapa tab lain yang dapat digunakan untuk menyesuaikan layanan. Untuk latihan ini, nilai default di tab tersebut sudah cukup. Pilih tombol Instal layanan(Install service ) .

  1. Ketika layanan diinstal, Anda akan melihat Service “logCPUAvg” installed successfully! jendela. Pilih OK untuk menutupnya. Itu menyimpulkan instalasi.

  1. Buka Windows Services Manager dan pastikan layanan ada di sana.

  1. Jalankan(Run) layanan untuk memastikannya akan berjalan.

  1. Untuk memverifikasi bahwa layanan ini berjalan, gunakan File Explorer untuk menavigasi ke tempat log seharusnya disimpan untuk melihat apakah ada.

nssm-check-log.png

Menghapus Layanan Windows Dengan NSSM(Removing a Windows Service With NSSM)

Mungkin Anda tidak perlu memantau(monitor your CPU) beban CPU Anda lagi, jadi Anda ingin menyingkirkan layanan tersebut. Untungnya, NSSM membuatnya mudah. 

  1. Di Windows Services Manager , hentikan layanan. Lakukan ini dengan memilih layanan Log CPU Average Load lalu pilih tombol berhenti persegi di bilah alat atau tautan Hentikan layanan(Stop the service) di sisi kiri.

  1. Buka Prompt Perintah Windows(Windows Command Prompt ) atau PowerShell sebagai Administrator.
  2. Masukkan perintah nssm remove logCPUAvg dan jalankan perintah. 

  1. NSSM akan meminta Anda untuk mengonfirmasi. Pilih Ya(Yes) .

  1. Saat layanan dihapus, Anda akan melihat Service “logCPUAvg” removed successfully! Konfirmasi. Pilih OK dan selesai.

Itu saja. Sebaiknya periksa pengelola layanan untuk memastikan layanan sudah tidak ada lagi. Jika Anda masih melihat layanan tersebut, Anda mungkin perlu menyegarkan layar dan layanan itu akan hilang.

Layanan adalah cara yang bagus untuk menjalankan aplikasi atau skrip yang perlu dijalankan sepanjang waktu, memulai ulang sendiri jika gagal, atau memerlukan hak istimewa yang berbeda dari pengguna saat ini. Jika Anda tidak memerlukan aplikasi atau skrip untuk melakukan semua hal tersebut, pertimbangkan untuk menggunakan Tugas Terjadwal(using a Scheduled Task) .



About the author

Saya seorang teknisi Windows 10 dan telah membantu individu dan bisnis memanfaatkan sistem operasi baru selama bertahun-tahun. Saya memiliki banyak pengetahuan tentang Microsoft Office, termasuk cara menyesuaikan tampilan dan mempersonalisasi aplikasi untuk pengguna yang berbeda. Selain itu, saya tahu cara menggunakan aplikasi Explorer untuk menjelajahi dan menemukan file dan folder di komputer saya.



Related posts