Manchmal benötigen Sie eine App oder ein Skript, um weiter ausgeführt zu werden, unabhängig davon, ob Sie an Ihrem Computer angemeldet sind oder nicht. Vielleicht ist es eine PowerShell-Skript zum Überwachen von Ports oder eine Webserver, der eine Seite in Ihrem Heimnetzwerk hostet.
Wenn Sie möchten, dass ein Prozess, ein Skript oder ein Programm ausgeführt wird, solange der Computer eingeschaltet ist, müssen Sie eine Windows-Dienst erstellen.
Was brauche ich, um einen Windows-Dienst zu erstellen?
Um einen Windows-Dienst in Windows 10 zu erstellen, gibt es einige Voraussetzungen:
Ja, Sie können einen solchen Namen nicht löschen, ohne ihn zu erklären. Sicher, der Name ist unglücklich, aber er ist korrekt. Der Non-Sucking Service Manager (NSSM) ist wohl der einfachste Weg, einen Windows-Dienst zu erstellen, der sowohl sehr zuverlässig als auch konfigurierbar ist. Außerdem ist es kostenlos und Quelloffene Software (OSS).
NSSM kann über die Windows-Eingabeaufforderung oder eine grafische Benutzeroberfläche (GUI) verwendet werden ). Dies bedeutet, dass jeder es verwenden kann. NSSM kann unter jeder Windows-Version verwendet werden, die auf Windows 2000 zurückgeht. Es gibt 32-Bit und 64-Bit -Versionen. Wenn Sie einen 64-Bit-Computer verwenden, versuchen Sie zuerst diese Version. Wenn es nicht funktioniert, greifen Sie auf die 32-Bit-Version zurück.
Sie können Laden Sie NSSM von der Website herunter, Klonen Sie NSSM von Git oder Installieren Sie NSSM mit Chocolatey. Chocolatey ist ein Paketmanager für Windows. Die Installationsmethoden variieren je nach Route. Bitte konsultieren Sie die Anweisungen von NSSM. In unserem Beispiel laden wir es von der NSSM-Website herunter und installieren es in C: \ WINDOWS \ system32.
In_content_1 all: [300x250] / dfp: [640 x 360]->Erstellen eines Windows-Dienstes mit NSSM
In diesem Beispiel erstellen wir einen Dienst aus PowerShell-Skript zum Protokollieren Prozentsatz der durchschnittlichen CPU-Auslastung.
Hinweis: Alle Zeilen unter dem Symbol # sind Kommentare und wirken sich nicht auf das Skript aus.
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
Es gibt mehrere andere Registerkarten, mit denen Sie das anpassen können Bedienung. Für diese Übung sind die Standardwerte in diesen Registerkarten ausreichend. Wählen Sie die Schaltfläche Dienst installieren.
nssm-check-log.png
Entfernen eines Windows-Dienstes Mit NSSM
müssen Sie möglicherweise nicht mehr Überwachen Sie Ihre CPU laden, um den Dienst loszuwerden. Glücklicherweise macht NSSM das einfach.
Das ist alles. Es ist eine gute Idee, den Servicemanager zu überprüfen, um sicherzustellen, dass der Service nicht mehr vorhanden ist. Wenn der Dienst weiterhin angezeigt wird, müssen Sie möglicherweise den Bildschirm aktualisieren, und er sollte nicht mehr angezeigt werden.
Dienste sind eine hervorragende Möglichkeit, Apps oder Skripts auszuführen, die ständig ausgeführt werden müssen. Starten Sie sich neu, wenn sie fehlschlagen oder benötigen andere Berechtigungen als der aktuelle Benutzer. Wenn Sie Ihre App oder Ihr Skript nicht benötigen, um all diese Dinge zu tun, ziehen Sie stattdessen Verwenden einer geplanten Aufgabe in Betracht.