Czasami potrzebujesz aplikacji lub skryptu, który będzie działał bez względu na to, czy jesteś zalogowany na komputerze, czy nie. Może to Skrypt PowerShell do monitorowania portów lub serwer WWW hostujący stronę w sieci domowej.
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ługa Windows.
Czego potrzebuję, aby utworzyć usługę systemu Windows?
Aby utworzyć usługę systemu Windows w systemie Windows 10, należy spełnić kilka wymagań wstępnych:
Co to jest Non-Sucking Service Manager?
Tak, nie możesz porzucić takiej nazwy bez jej wyjaśnienia. Oczywiście nazwa jest niefortunna, ale jest dokładna. Non-Sucking Service Manager (NSSM) to prawdopodobnie najłatwiejszy sposób tworzenia usługi Windows, która jest zarówno wysoce niezawodna, jak i konfigurowalna. Dodatkowo jest darmowy i Oprogramowanie Open Source (OSS).
NSSM może być używany przez Wiersz polecenia systemu Windows lub graficzny interfejs użytkownika (GUI ). Oznacza to, że każdy może go używać. NSSM może być używany w każdej wersji systemu Windows, począwszy od systemu Windows 2000 włącznie. Istnieje 32-bitowe i 64-bitowe wersji. 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 pobierz NSSM ze strony internetowej, sklonuj NSSM z Git lub zainstaluj NSSM z Chocolatey. Chocolatey to menedżer pakietów dla systemu Windows. Metody instalacji będą się różnić w zależności od wybranej trasy. Prosimy zapoznać się z instrukcjami NSSM. W naszym przykładzie pobieramy z witryny NSSM i instalujemy go w C: \ WINDOWS \ system32.
In_content_1 all: [300x250] / dfp: [640x360]->Utwórz usługę systemu Windows z NSSM
W tym przykładzie utworzymy usługę z Skrypt PowerShell do logowania Średni procent obciążenia procesora.
Uwaga: wszystkie poniższe wiersze, po których następuje symbol #, są komentarzami i nie wpłyną 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
Istnieje kilka innych zakładek, których można użyć do dostosowania usługa. W tym ćwiczeniu wystarczające są wartości domyślne na tych kartach. Wybierz przycisk Zainstaluj usługę.
”
Usuwanie usługi systemu Windows Z NSSM
Może nie musisz już monitoruj swój procesor ładować, więc chciałbyś pozbyć się tej usługi. Na szczęście NSSM to ułatwia.
To wszystko. Dobrze jest sprawdzić menedżera usług, aby upewnić się, że usługi już nie ma. Jeśli nadal widzisz tę usługę, może być konieczne odświeżenie ekranu i powinno jej nie być.
Usługi to świetny sposób na uruchamianie aplikacji lub skryptów, które muszą działać przez cały czas. Jeśli się nie uda, uruchom je ponownie. lub potrzebujesz uprawnień innych niż bieżący użytkownik. Jeśli nie potrzebujesz aplikacji lub skryptu do wykonywania wszystkich tych czynności, rozważ zamiast tego za pomocą zaplanowanego zadania.