Cara membuat layanan windows

Cara membuat layanan windows

Terkadang Anda memerlukan aplikasi atau skrip untuk terus berjalan apakah Anda masuk ke komputer atau tidak. Mungkin ini adalah skrip PowerShell untuk memantau port atau server web yang menampung halaman di jaringan rumah Anda.

Intinya adalah bahwa jika Anda menginginkan proses, skrip, atau program untuk dijalankan selama komputer menyala, Anda harus membuat layanan Windows.

Daftar isi

    NSSM dapat digunakan melalui prompt perintah windows, atau antarmuka pengguna grafis (GUI). Ini berarti siapa pun dapat menggunakannya. NSSM dapat digunakan pada versi Windows yang kembali ke, dan termasuk, Windows 2000. Ada versi 32-bit dan 64-bit. Jika Anda menggunakan komputer 64-bit, coba versi itu terlebih dahulu. Jika tidak berhasil, kembalikan ke versi 32-bit.

    Anda dapat mengunduh NSSM dari situs web, klon NSSM dari git, atau menginstal NSSM dengan cokelat. Chocolateey adalah manajer paket untuk windows. Metode pemasangan akan bervariasi tergantung pada rute yang Anda ambil. Silakan berkonsultasi dengan instruksi NSSM. Sebagai contoh kami, kami mengunduh dari situs web NSSM dan menginstalnya C: \ Windows \ System32.

    Buat Layanan Windows dengan NSSM

    Untuk contoh ini, kami akan membuat layanan dari skrip PowerShell untuk mencatat persentase beban rata -rata CPU.

    1. Salin dan simpan skrip ini sebagai Log-Cpuloadpercentage.PS1 ke tempat yang tidak mungkin diakses oleh orang lain. Coba buat direktori C:/skrip dan menyimpannya di sana. Juga, buat folder dalam skrip yang disebut Log. Perhatikan bahwa jalan ke skrip adalah C:/Script/Log-CpuloadperCentage.PS1. Anda akan membutuhkannya nanti.

    Catatan: Semua baris di bawah diikuti oleh simbol # adalah komentar dan tidak akan mempengaruhi skrip.

    CLS #Optional. Saya suka menggunakan ini untuk menghapus terminal saat menguji. #Make yakin Anda memiliki folder yang disebut log di direktori yang sama dengan skrip ini #log adalah tempat catatan akan disimpan. Mulai-transkrip -path "$ psscriptroot \ logs \ log-cpuloadpercentage-$ (get-date -f yyyy-mm-dd).txt "-Perampai #selupsi loop membuatnya tetap berjalan sampai secara manual dihentikan saat ($ true) #creates A Timestamp untuk mengetahui kapan pengukuran dilakukan $ timestamp = get-date -f yyyy-mm-h: mm: ss #gets the the the Persentase beban rata -rata pada waktu itu, lalu menunggu 5 detik untuk melakukannya lagi. $ cpuloadpercent = get-ciminstance win32_processor | Ukur -objek -Property LoadPentage -Arage | Select-Object Average; Start-Sleep -econds 5 #isolat hanya rata-rata jadi tidak ada @rata-rata = 13 string $ cpuloadpercent = $ cpuloadpercent.Rata-rata hasil #writes ke layar, atau dalam hal ini ke log-host write-host "$ timestamp cpu load persentase $ cpuloadpercent" stop-transcript
    1. Ini bisa dilakukan di salah satu Prompt perintah windows atau PowerShell. Buka sebagai Administrator.
    2. Masukkan perintah NSSM menginstal logcpuavg dan jalankan. Itu Pemasang Layanan NSSM jendela akan terbuka.
    1. Klik tombol elips di sebelah Jalur: bidang, navigasikan ke PowerShell.exe itu biasanya terletak di C: \ Windows \ System32 \. Pilih PowerShell.exe. Itu Jalur: Dan Direktori Startup: bidang akan secara otomatis diisi.
    1. Masukkan berikut di Argumen: bidang: -Bypass executionPolicy -noprofile -file “c: \ pathtoscript \ get -script.PS1 ", Di mana bagian terakhir adalah jalan menuju skrip PowerShell Anda dan nama skrip Anda.
    1. Pilih Detail tab. Masukkan apa yang Anda ingin layanan muncul seperti di Windows Services Manager ke Nama tampilan: bidang. Kemudian, masukkan apa yang dilakukannya di Keterangan: bidang. Itu Jenis startup: bisa ditetapkan sebagai Otomatis, Otomatis (start tertunda), Manual, atau Dengan disabilitas. Untuk latihan ini, otomatis bagus.
    1. Pilih Masuk tab. Pilih Akun ini: Tombol radio dan masukkan akun dan kata sandi yang akan dijalankan layanan. Anda harus memilih akun di mana layanan akan berjalan. Idealnya, Anda akan memiliki akun Windows yang dibuat hanya untuk menjalankan layanan ini. Izin akun ini harus dibatasi hanya pada apa yang perlu dilakukan layanan. Anda dapat memilih Akun Sistem Lokal, Tapi itu tidak disarankan untuk alasan keamanan.

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

    1. Saat layanan diinstal, Anda akan melihat Layanan “LogCpuavg” diinstal dengan sukses! jendela. Pilih OKE untuk menutupnya. Yang menyimpulkan instalasi.
    1. Buka Windows Services Manager dan pastikan layanan ada di sana.
    1. Jalankan layanan untuk memastikannya akan berjalan.
    1. Untuk memverifikasi bahwa layanan ini sedang berjalan, gunakan File Explorer untuk menavigasi ke tempat log seharusnya disimpan untuk melihat apakah itu ada.

    NSSM-check-log.png

    Menghapus Layanan Windows dengan NSSM

    Mungkin Anda tidak perlu lagi memantau beban CPU Anda, jadi Anda ingin menyingkirkan layanan. Untungnya, NSSM memudahkan itu.

    1. Dalam Windows Services Manager, Hentikan layanan. Lakukan ini dengan memilih Log CPU Rata -rata Beban Layanan kemudian memilih tombol berhenti persegi di bilah alat atau Hentikan layanan tautan di sisi kiri.
    1. Buka baik Prompt perintah windows atau PowerShell sebagai administrator.
    2. Masukkan perintah NSSM Hapus logcpuavg dan jalankan perintah.
    1. NSSM akan meminta Anda untuk mengonfirmasi. Pilih Ya.
    1. Saat layanan dihapus, Anda akan melihat Layanan “LogCpuavg” dihapus dengan sukses! Konfirmasi. Pilih OKE Dan Anda sudah selesai.

    Itu saja. Sebaiknya periksa manajer layanan untuk memastikan layanan tidak ada lagi. Jika Anda masih melihat layanan, Anda mungkin perlu menyegarkan layar dan itu harus hilang.

    Layanan adalah cara yang bagus untuk menjalankan aplikasi atau skrip yang perlu berjalan sepanjang waktu, memulai kembali diri mereka sendiri jika gagal, atau membutuhkan hak istimewa yang berbeda dari pengguna saat ini. Jika Anda tidak memerlukan aplikasi atau skrip Anda untuk melakukan semua hal itu, pertimbangkan untuk menggunakan tugas yang dijadwalkan sebagai gantinya.