Wie extrahiere ich eine Liste der Windows-Dienste und deren Status in eine Textdatei?


18

Ich möchte einen Text-Dump des Bildschirms erhalten, den Sie beim Ausführen sehen services.msc(mit Ausnahme der Spalte Beschreibung). Auf diese Weise kann ich nach der Installation einer anderen Software, die diesem Bildschirm Dienste hinzufügt, ein Diff ausführen.

Ist das möglich?

Wenn es hilfreich ist, habe ich Zugriff auf Powershell, weiß aber nicht, wie ich diese Art von Informationen daraus abrufen kann.

Antworten:


18

Im Fenster Dienste kann das Action > Export...Menü die Liste als TXT- oder CSV-Datei anzeigen. Es gibt Ihnen auch die Beschreibungsspalte, aber Sie können sie mit einem Programm wie Excel leicht löschen.

Sie können dies auch von Powershell aus tun.

Get-Service | Export-Csv -path "C:\services.csv"

Außerdem können Sie die Liste filtern. Beispielsweise können Sie nur die gestarteten Dienste abrufen, indem Sie den folgenden Befehl ausführen:

Get-Service | where {$_.Status -eq "Running"} | Export-Csv -path "C:\services.csv"

Dies scheint nur die Dienste meines Benutzers oder so etwas zu bekommen. Ich habe einige Dienste, die in dieser Liste nicht aufgeführt sind.
Alex K

Stellen Sie beim Export mit .csv sicher, dass Unicode Text (Tab Delimited) (*.txt)verwendet wird. Wenn Sie durch Kommas getrennt verwenden, kann das Komma im Beschreibungsfeld überlaufen und die Ausgabe durcheinander bringen.
Ivan Chau

2
Hier wurde eine Möglichkeit zum Exportieren und Importieren der Konfiguration gefunden: winhelponline.com/blog/backup-windows-services-configuration
JinSnow

12

Ohne die Verwendung von Powershell werden die ausgeführten Dienste aufgelistet:

 sc query > running_services.txt

Hier werden alle Dienste aufgelistet, die ausgeführt werden oder nicht:

 sc query state= all > all_services.txt

1
PowerShell funktioniert in diesem Fall besser, da die Ausgabe einfach angepasst werden kann. Aber es ist gut zu wissen, dass es noch andere Möglichkeiten gibt, danke!
Alex Angas

1
PowerShell ist nett, aber nicht immer auf jedem Computer.
Warren P

Anscheinend kann WMI das auch.
Warren P

5

Sie können auch verwenden net start, um die Liste der ausgeführten Dienste abzurufen.


3

Ich brauchte auch den vollen Pfad, also habe ich mit gewickelt

Get-WmiObject win32_service | select Name, DisplayName, State, PathName | Export-Csv -path "C:\services.csv"

0

Auf dem Server 8 (2012 Beta) ist die Exportoption nicht mehr verfügbar.

Auch das Startmenü ist weg und es gibt nur einen Link zu Powershell in der Taskleiste. Zum Glück sind alle Programme noch da, ich musste nur manuell Verknüpfungen zu jedem erstellen.


1
Auf Server 2012 R2 gibt es folgende Option:Action -> Export List...
Ivan Chau
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.