
Terkadang Anda memerlukan aplikasi atau skrip untuk tetap berjalan baik saat Anda masuk ke komputer atau tidak. Mungkin skrip PowerShell untuk memantau port atau server web yang menghosting halaman di jaringan rumah Anda.
Intinya adalah jika Anda ingin proses, skrip, atau program berjalan selama komputer menyala, Anda harus membuat Layanan Windows.
Apa yang Saya Butuhkan untuk Membuat Layanan Windows?
Untuk membuat layanan Windows di Windows 10, ada beberapa prasyarat:
- Akses administrator di komputer
- Sesuatu untuk dijalankan sebagai layanan (PowerShell Script, program, dll.)
- Manajer Layanan Non-Mengisap (NSSM) diinstal
Apa Manajer Layanan Non-Mengisap?
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, atau antarmuka pengguna grafis (GUI). Artinya siapa saja bisa menggunakannya. NSSM dapat digunakan pada semua versi Windows, termasuk Windows 2000. Ada versi 32-bit dan 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, mengkloning NSSM dari Git, atau menginstal NSSM dengan Chocolatey. Chocolatey adalah manajer paket untuk Windows. Metode penginstalan akan bervariasi tergantung pada rute yang Anda ambil. Silakan berkonsultasi dengan instruksi NSSM. Sebagai contoh, kita mengunduh dari situs web NSSM dan menginstalnya di C:WINDOWSsystem32.
Buat Layanan Windows Dengan NSSM
Untuk contoh ini, kita akan membuat layanan dari skrip PowerShell untuk mencatat persentase beban rata-rata CPU.
- 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 bernama Logs. Perhatikan bahwa jalur ke skrip adalah C:/Scripts/log-CPULoadPercentage.ps1. Anda akan membutuhkannya nanti.
Catatan : Semua baris di bawah yang diikuti dengan simbol # adalah komentar dan tidak akan mempengaruhi skrip.
CLS #Opsional. Saya suka menggunakan ini untuk menghapus terminal saat pengujian. #Pastikan Anda memiliki folder bernama Log di direktori yang sama dengan skrip ini #Log adalah tempat menyimpan catatan. Start-Transcript -Path “$PSScriptRootLogslog-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt” -Tambahkan #While loop tetap berjalan sampai dihentikan secara manual While ($True){ #Creates stempel waktu untuk mengetahui kapan pengukuran dilakukan $timeStamp = get-date -f yyyy-MM-h:mm:ss #Mendapatkan persentase beban rata-rata pada saat itu, lalu menunggu 5 detik untuk melakukannya lagi. $cpuLoadPercent = Get-CimInstance win32_processor | Ukur-Objek -Properti LoadPercentage -Rata-rata | Select-Object Average;Start-Sleep -Seconds 5 #Mengisolasi hanya rata-rata sehingga tidak ada string @{Average=13} yang aneh $cpuLoadPercent = $cpuLoadPercent.Average #menulis hasil ke layar, atau dalam hal ini ke log Write-Host “$timeStamp CPU Load Percentage $cpuLoadPercent” } Stop-Transkrip
- Ini dapat dilakukan di Windows Command Prompt atau PowerShell. Buka sebagai Administrator.
- Masukkan perintah nssm install logCPUAvg dan jalankan. NSSM layanan installer jendela akan terbuka.
- Klik tombol elips di sebelah bidang Path :, navigasikan ke powershell.exe yang biasanya terletak di C:WindowsSystem32. Pilih powershell.exe. Bidang Path: dan Startup directory: akan terisi secara otomatis.
- Masukkan berikut ini di Argumen: bidang: ExecutionPolicy Bypass -NoProfile-File “C: PathToScript get-Script.ps1”, di mana bagian terakhir adalah jalan menuju PowerShell script dan nama script.
- Pilih tab Detail. Masukkan apa yang Anda inginkan untuk menampilkan layanan seperti di manajer Layanan Windows ke dalam bidang Nama tampilan:. Lalu, masukkan apa yang dilakukannya di Description: lapangan. Startup type: dapat diatur sebagai Automatic, Automatic (Delayed Start), manual, atau cacat. Untuk latihan ini, Otomatis bagus.
- Pilih tab Masuk. Pilih Akun ini : 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, 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.
- Ketika layanan diinstal, Anda akan melihat Layanan “logCPUAvg” berhasil diinstal! jendela. Pilih OK untuk menutupnya. Itu menyimpulkan instalasi.
- Buka Windows Services Manager dan pastikan layanannya ada.
- Jalankan layanan untuk memastikannya akan berjalan.
- 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
Mungkin Anda tidak perlu memantau beban CPU Anda lagi, jadi Anda ingin menyingkirkan layanan tersebut. Untungnya, NSSM membuatnya mudah.
- 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 di sisi kiri.
- Buka Prompt Perintah Windows atau PowerShell sebagai Administrator.
- Masukkan perintah nssm remove logCPUAvg dan jalankan perintah.
- NSSM akan meminta Anda untuk mengonfirmasi. Pilih Ya.
- Saat layanan dihapus, Anda akan melihat Layanan “logCPUAvg” berhasil dihapus! Konfirmasi. Pilih OK dan selesai.
Itu saja. Ada baiknya Anda memeriksa 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.