Jak stworzyć usługę Windows
Czasami potrzebujesz aplikacji lub skryptu, aby działały niezależnie od tego, czy jesteś zalogowany na komputerze, czy nie. Może to skrypt PowerShell do monitorowania portów(PowerShell script to monitor ports) lub serwer WWW hostujący stronę w Twojej sieci domowej(web server hosting a page on your home network) .
Chodzi o to, że jeśli chcesz, aby proces, skrypt lub program działał tak długo, jak komputer jest włączony, musisz utworzyć usługę Windows(Windows Service) .
Czego potrzebuję, aby utworzyć usługę Windows?(What Do I Need to Create a Windows Service?)
Aby utworzyć usługę Windows w (Windows)systemie Windows 10(Windows 10) , należy spełnić kilka wymagań wstępnych:
- Dostęp administratora(Administrator) na komputerze
- Coś do uruchomienia jako usługa ( PowerShell Script , program itp.)
- Zainstalowany Non-Sucking Service Manager ( NSSM )
Co to jest niessący menedżer usług?(What Is the Non-Sucking Service Manager?)
Tak, nie możesz porzucić takiego imienia bez wyjaśnienia. Jasne, że nazwa jest niefortunna, ale jest dokładna. Non-Sucking Service Manager ( NSSM ) to prawdopodobnie najłatwiejszy sposób na utworzenie usługi Windows , która jest zarówno wysoce niezawodna, jak i konfigurowalna. Ponadto jest to bezpłatne i otwarte oprogramowanie(Open Source Software) (OSS).
NSSM może być używany za pośrednictwem wiersza polecenia systemu Windows(Windows Command Prompt) lub graficznego interfejsu użytkownika ( GUI ). Oznacza to, że każdy może z niego korzystać. NSSM może być używany w dowolnej wersji systemu Windows , począwszy od systemu (Windows)Windows 2000 włącznie . Istnieją wersje 32-bitowe i 64-bitowe . (32-bit and 64-bit)Jeśli używasz komputera 64-bitowego, wypróbuj najpierw tę wersję. Jeśli to nie zadziała, wróć do wersji 32-bitowej.
Możesz pobrać NSSM ze strony internetowej(download NSSM from the website) , sklonować NSSM z Git(clone NSSM from Git) lub zainstalować NSSM z Chocolatey(install NSSM with Chocolatey) . Chocolatey to menedżer pakietów dla systemu Windows(Chocolatey is a package manager for Windows) . Metody instalacji(Installation) będą się różnić w zależności od wybranej trasy. Proszę(Please) zapoznać się z instrukcjami NSSM . W naszym przykładzie pobieramy z witryny NSSM i instalujemy w C:\WINDOWS\system32 .
Utwórz usługę Windows za pomocą NSSM(Create a Windows Service With NSSM)
W tym przykładzie utworzymy usługę ze skryptu PowerShell(PowerShell script) do rejestrowania średniego procentu obciążenia procesora(CPU average load percentage) .
- Skopiuj i zapisz ten skrypt jako log-CPULoadPercentage.ps1 w miejscu, do którego nikt inny nie będzie miał dostępu. Spróbuj utworzyć katalog C:/Scripts i tam go przechowywać. Ponadto utwórz folder w Skryptach(Scripts) o nazwie Dzienniki(Logs) . Zwróć uwagę, że ścieżka do skryptu to C:/Scripts/log-CPULoadPercentage.ps1 . Będziesz tego później potrzebować.
Uwaga(Note) : Wszystkie poniższe wiersze, po których następuje symbol #, są komentarzami i nie mają wpływu na skrypt.
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
- Można to zrobić w wierszu polecenia systemu Windows(Windows Command Prompt) lub w PowerShell. Otwórz go jako Administrator(Open it as Administrator) .
- Wpisz polecenie nssm install logCPUAvg i uruchom je. Otworzy się okno instalatora usługi NSSM(NSSM service installer) .
- Kliknij(Click) przycisk wielokropka obok pola Ścieżka(Path:) :, przejdź do pliku powershell.exe(powershell.exe ) , który zwykle znajduje się w C:\Windows\System32\ . Wybierz powershell.exe. Pola Ścieżka:(Path:) i Katalog startowy:(Startup directory:) zostaną automatycznie wypełnione.
- Wprowadź następujące dane w polu Argumenty:(Arguments:) -ExecutionPolicy -ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , gdzie ostatnia część to ścieżka do skryptu PowerShell i nazwa skryptu.
- Wybierz kartę Szczegóły(Details) . W polu Nazwa wyświetlana:(Display name: ) wpisz, co ma się wyświetlać, jak w Menedżerze usług (Services)systemu Windows(Windows) . Następnie wpisz, co robi w polu Opis(Description:) :. Typ uruchomienia:(Startup type: ) można ustawić jako Automatyczny(Automatic) , Automatyczny (opóźniony start)(Automatic (Delayed Start)) , Ręczny(Manual) lub Wyłączony(Disabled) . W tym ćwiczeniu dobrze sprawdza się automat(Automatic) .
- Wybierz kartę Logowanie(Log on ) . Wybierz To konto(This account) : przycisk radiowy i wprowadź konto i hasło, pod którym usługa będzie działać. Musisz wybrać konto, pod którym usługa będzie działać. W idealnym przypadku będziesz mieć konto Windows utworzone tylko do uruchamiania tej usługi. Uprawnienia tego konta powinny być ograniczone tylko do tego, co usługa musi zrobić. Możesz wybrać konto System lokalny(Local System account) , ale nie jest to zalecane ze względów bezpieczeństwa.
Istnieje kilka innych zakładek, których można użyć do dostosowania usługi. W tym ćwiczeniu wystarczające są wartości domyślne na tych kartach. Wybierz przycisk Zainstaluj usługę(Install service ) .
- Po zainstalowaniu Service “logCPUAvg” installed successfully! okno. Wybierz OK , aby go zamknąć. Na tym kończy się instalacja.
- Otwórz Menedżera usług systemu Windows(Windows Services Manager ) i upewnij się, że usługa tam jest.
- Uruchom(Run) usługę, aby upewnić się, że będzie działać.
- Aby sprawdzić, czy ta usługa jest uruchomiona, użyj Eksploratora plików(File Explorer ) , aby przejść do miejsca, w którym ma zostać zapisany dziennik, aby sprawdzić, czy istnieje.
nssm-check-log.png
Usuwanie usługi Windows za pomocą NSSM(Removing a Windows Service With NSSM)
Może nie musisz już monitorować(monitor your CPU) obciążenia procesora, więc chcesz pozbyć się usługi. Na szczęście NSSM to ułatwia.
- W Menedżerze usług systemu Windows(Windows Services Manager) zatrzymaj usługę. Zrób to, wybierając usługę Log CPU Average Load , a następnie albo kwadratowy przycisk stop na pasku narzędzi, albo link (Log CPU Average Load )Stop the service po lewej stronie.
- Otwórz wiersz polecenia systemu Windows(Windows Command Prompt ) lub PowerShell jako administrator.
- Wpisz polecenie nssm remove logCPUAvg i wykonaj polecenie.
- NSSM poprosi o potwierdzenie. Wybierz Tak(Yes) .
- Po usunięciu usługi Service “logCPUAvg” removed successfully! Potwierdzenie. Wybierz OK i gotowe.
To wszystko. Dobrym pomysłem jest sprawdzenie menedżera usług, aby upewnić się, że usługa już nie istnieje. Jeśli nadal widzisz usługę, może być konieczne odświeżenie ekranu i powinno zniknąć.
Usługi to świetny sposób na uruchamianie aplikacji lub skryptów, które muszą działać przez cały czas, uruchamiają się ponownie w przypadku awarii lub wymagają uprawnień innych niż obecny użytkownik. Jeśli nie potrzebujesz aplikacji lub skryptu do wykonywania wszystkich tych czynności, rozważ zamiast tego użycie zaplanowanego zadania .(using a Scheduled Task)
Related posts
Jak włączyć lub wyłączyć usługę IP Helper w systemie Windows 10?
Jak włączyć usługę klienta DNS, jeśli jest wyszarzona w systemie Windows 10?
Jak wyłączyć usługę Windows Insider w systemie Windows 10?
Co to jest usługa Bonjour w systemie Windows 10?
Napraw błąd wyjątku usługi systemowej w systemie Windows 10
Utwórz skrót klawiaturowy, aby otworzyć swoją ulubioną witrynę w systemie Windows 10
Ashampoo WinOptimizer to darmowe oprogramowanie do optymalizacji Windows 10
Oglądaj telewizję cyfrową i słuchaj radia w systemie Windows 10 z ProgDVB
Jak wymusić Google SafeSearch w Microsoft Edge w Windows 10?
Konwertuj EPUB na MOBI - Darmowe narzędzia do konwersji dla Windows 10
Narzędzie do naprawy długiej ścieżki naprawi błędy zbyt długiej ścieżki w systemie Windows 10
Jak zainstalować NumPy za pomocą PIP w systemie Windows 10?
Najlepsze darmowe oprogramowanie skanera kodów kreskowych dla systemu Windows 10
Objaśnienie nowoczesnego hosta konfiguracji w systemie Windows 10. Czy to bezpieczne?
Co to jest proces wykonywalny usługi antymalware i czy jest bezpieczny?
Darmowe oprogramowanie Battery Limiter dla Windows 10
Ukryj lub pokaż przycisk obszaru roboczego Windows Ink na pasku zadań w systemie Windows 10
Jak wyświetlić globalną listę skrótów klawiszowych w systemie Windows 10?
Jak zainstalować profil kolorów w systemie Windows 10 za pomocą profilu ICC?
Jak naprawić niedziałającą usługę Windows Update?