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.

Alex Angas
quelle

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"
Mehper C. Palavuzlar
quelle
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
Warren P
quelle
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.

Emmanuel Bourg
quelle
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"
Xan-Kun Clark-Davis
quelle
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.

Justin Goldberg
quelle
1
Auf Server 2012 R2 gibt es folgende Option:Action -> Export List...
Ivan Chau