Cách tạo dịch vụ Windows
Đôi khi bạn cần một ứng dụng hoặc tập lệnh để tiếp tục chạy cho dù bạn đã đăng nhập vào máy tính của mình hay chưa. Có thể đó là một tập lệnh PowerShell để giám sát các cổng(PowerShell script to monitor ports) hoặc một máy chủ web lưu trữ một trang trên mạng gia đình của bạn(web server hosting a page on your home network) .
Vấn đề là nếu bạn muốn một quy trình, tập lệnh hoặc chương trình chạy miễn là máy tính đang bật, bạn sẽ cần tạo Dịch vụ Windows(Windows Service) .
Tôi cần gì để tạo một dịch vụ Windows?(What Do I Need to Create a Windows Service?)
Để tạo một dịch vụ Windows trong Windows 10 , có một số điều kiện tiên quyết:
- Quyền truy cập của quản trị(Administrator) viên trên máy tính
- Một cái gì đó để chạy như một dịch vụ ( PowerShell Script , chương trình, v.v.)
- Trình quản lý dịch vụ(Service Manager) không hút ( NSSM ) đã được cài đặt
Trình quản lý dịch vụ không hút là gì?(What Is the Non-Sucking Service Manager?)
Vâng, bạn không thể bỏ qua một cái tên như vậy mà không giải thích nó. Chắc chắn cái tên này là không may, nhưng nó là chính xác. Trình quản lý dịch vụ(Service Manager) không hút ( NSSM ) được cho là cách dễ nhất để tạo một dịch vụ Windows vừa có độ tin cậy cao vừa có thể định cấu hình. Thêm vào đó, nó là Phần mềm nguồn mở(Open Source Software) (OSS) miễn phí.
NSSM có thể được sử dụng thông qua Windows Command Prompt hoặc giao diện người dùng đồ họa ( GUI ). Điều này có nghĩa là bất kỳ ai cũng có thể sử dụng nó. NSSM có thể được sử dụng trên bất kỳ phiên bản Windows nào trở về trước, bao gồm cả Windows 2000 . Có phiên bản 32-bit và 64-bit(32-bit and 64-bit) . Nếu bạn đang sử dụng máy tính 64 bit, hãy thử phiên bản đó trước. Nếu nó không hoạt động, hãy quay lại phiên bản 32-bit.
Bạn có thể tải xuống NSSM từ trang web(download NSSM from the website) , sao chép NSSM từ Git(clone NSSM from Git) hoặc cài đặt NSSM với Chocolatey(install NSSM with Chocolatey) . Chocolatey là một trình quản lý gói cho Windows(Chocolatey is a package manager for Windows) . Phương pháp cài đặt(Installation) sẽ khác nhau tùy thuộc vào con đường bạn đi. Vui lòng(Please) tham khảo hướng dẫn của NSSM . Đối với ví dụ của chúng tôi, chúng tôi đang tải xuống từ trang web NSSM và cài đặt nó trong C:\WINDOWS\system32 .
Tạo dịch vụ Windows với NSSM(Create a Windows Service With NSSM)
Đối với ví dụ này, chúng tôi sẽ tạo một dịch vụ từ tập lệnh PowerShell(PowerShell script) để ghi phần trăm tải trung bình của CPU(CPU average load percentage) .
- Sao chép và lưu tập lệnh này dưới dạng log-CPULoadPercentage.ps1 vào một nơi mà người khác không thể truy cập. Hãy thử tạo thư mục C:/Scripts và lưu trữ nó ở đó. Ngoài ra, hãy tạo một thư mục trong Scripts được gọi là Logs . Lưu ý rằng đường dẫn đến tập lệnh là C:/Scripts/log-CPULoadPercentage.ps1 . Bạn sẽ cần nó sau.
Lưu ý(Note) : Tất cả các dòng bên dưới kèm theo ký hiệu # là nhận xét và sẽ không ảnh hưởng đến tập lệnh.
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
- Điều này có thể được thực hiện trong Windows Command Prompt hoặc PowerShell. Mở nó với tư cách Quản trị viên(Open it as Administrator) .
- Nhập lệnh nssm install logCPUAvg và chạy nó. Cửa sổ trình cài đặt dịch vụ NSSM sẽ mở ra.(NSSM service installer)
- Nhấp(Click) vào nút dấu chấm lửng bên cạnh trường Path:, điều hướng đến powershell.exe thường được đặt tại C:\Windows\System32\ . Chọn powershell.exe. Các trường Path: và Startup directory: sẽ được tự động điền.
- Nhập thông tin sau vào trường Arguments:: -ExecutionPolicy -ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , trong đó phần cuối cùng là đường dẫn đến tập lệnh PowerShell của bạn và tên tập lệnh.
- Chọn tab Chi tiết . (Details)Nhập những gì bạn muốn dịch vụ hiển thị như trong trình quản lý Dịch vụ (Services)Windows vào trường Tên hiển thị:. (Display name: )Sau đó, nhập chức năng của nó vào trường Description :. (Description:)Kiểu khởi động:(Startup type: ) có thể được đặt là Tự động(Automatic) , Tự động (Khởi động bị trì hoãn)(Automatic (Delayed Start)) , Thủ công(Manual) hoặc Tắt(Disabled) . Đối với bài tập này, Tự động(Automatic) là tốt.
- Chọn tab Đăng nhập . (Log on )Chọn Tài khoản này(This account) : nút radio và nhập tài khoản và mật khẩu mà dịch vụ sẽ chạy. Bạn sẽ cần chọn một tài khoản mà dịch vụ sẽ chạy. Lý tưởng nhất là bạn sẽ có một tài khoản Windows được tạo chỉ để chạy dịch vụ này. Quyền của tài khoản này chỉ nên được giới hạn ở những gì dịch vụ cần thực hiện. Bạn có thể chọn tài khoản Hệ thống cục(Local System account) bộ , nhưng tài khoản này không được khuyến khích vì lý do bảo mật.
Có một số tab khác có thể được sử dụng để tùy chỉnh dịch vụ. Đối với bài tập này, các giá trị mặc định trong các tab đó là đủ. Chọn nút Cài đặt dịch vụ(Install service ) .
- Khi dịch vụ được cài đặt, bạn sẽ thấy Service “logCPUAvg” installed successfully! cửa sổ. Chọn OK để đóng nó. Điều đó kết thúc cài đặt.
- Mở Trình quản lý dịch vụ Windows(Windows Services Manager ) và đảm bảo dịch vụ ở đó.
- Chạy(Run) dịch vụ để đảm bảo nó sẽ chạy.
- Để xác minh rằng dịch vụ này đang chạy, hãy sử dụng File Explorer để điều hướng đến nơi mà nhật ký được cho là sẽ được lưu để xem liệu nó có tồn tại hay không.
nssm-check-log.png
Loại bỏ dịch vụ Windows với NSSM(Removing a Windows Service With NSSM)
Có thể bạn không cần theo dõi tải CPU của mình(monitor your CPU) nữa, vì vậy bạn muốn loại bỏ dịch vụ. May mắn thay, NSSM làm cho điều đó trở nên dễ dàng.
- Trong Trình quản lý dịch vụ Windows(Windows Services Manager) , dừng dịch vụ. Thực hiện việc này bằng cách chọn dịch vụ Tải trung bình của CPU(Log CPU Average Load ) , sau đó chọn nút dừng hình vuông trên thanh công cụ hoặc liên kết Dừng dịch vụ(Stop the service) ở phía bên trái.
- Mở Windows Command Prompt hoặc PowerShell với tư cách Quản trị viên.
- Nhập lệnh nssm remove logCPUAvg và thực hiện lệnh.
- NSSM sẽ yêu cầu bạn xác nhận. Chọn Có(Yes) .
- Khi dịch vụ bị xóa, bạn sẽ thấy Service “logCPUAvg” removed successfully! Xác nhận. Chọn OK và bạn đã hoàn tất.
Đó là tất cả. Bạn nên kiểm tra trình quản lý dịch vụ để đảm bảo dịch vụ không còn ở đó. Nếu bạn vẫn thấy dịch vụ, bạn có thể cần phải làm mới màn hình và nó sẽ biến mất.
Dịch vụ là một cách tuyệt vời để chạy các ứng dụng hoặc tập lệnh cần chạy mọi lúc, tự khởi động lại nếu chúng bị lỗi hoặc cần các đặc quyền khác với người dùng hiện tại. Nếu bạn không cần ứng dụng hoặc tập lệnh của mình để thực hiện tất cả những điều đó, hãy cân nhắc sử dụng Tác vụ đã lên lịch(using a Scheduled Task) để thay thế.
Related posts
Làm thế nào để kích hoạt hoặc vô hiệu hóa IP Helper Service trong Windows 10
Làm thế nào để kích hoạt các DNS Client Service nếu màu xám trong Windows 10
Cách vô hiệu hóa Windows Insider Service trên Windows 10
Bonjour Service trên Windows 10 là gì?
Fix System Service Exception Error trong Windows 10
Khắc phục sự cố Dịch vụ Đại lý SoftThinks Sử dụng CPU cao trong Windows 10
Top 3 Reddit apps cho Windows 10 có sẵn tại Windows Store
Battery Limiter software miễn phí cho Windows 10
Cách tắt SafeGuards cho Feature Updates trên Windows 10
Dịch vụ Bonjour là gì (và bạn có cần nó)
Không thể kết nối với Xbox Live; Fix Xbox Live Networking issue Trong Windows 10
Create Ghi chú đơn giản với PeperNote cho Windows 10
là gì Control Flow Guard trong Windows 10 - Làm thế nào để Bật hoặc Tắt
Hide Toolbars option Trong Taskbar Context Menu trong Windows 10
Cách cài đặt Color Profile bằng Windows 10 bằng ICC Profile
Cách thiết lập dịch vụ VPN tích hợp sẵn của Windows 10
Enablement trọn gói là gì trong Windows 10
Best Molecular Modeling software miễn phí cho Windows 10
Long Path Fixer tool sẽ khắc phục lỗi dài Path Too trong Windows 10
Khởi chạy các tập tin dễ dàng với MyLauncher cho máy tính Windows 10