Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Abfrage laufender Dienste - Ergebnis in eine Textdatei schreiben

Frage Entwicklung Batch & Shell

Mitglied: derroman

derroman (Level 1) - Jetzt verbinden

19.06.2008, aktualisiert 19:12 Uhr, 6572 Aufrufe, 5 Kommentare

Hallo zusammen!
Verzweifelt sitze ich nun seit mehreren Stunden vor meinen Batchdateien und versuche folgendes Problem zu lösen.

Ich brauche ein Batchdatei, die ich mir irgendwo hinlege und die zwei oder drei Dienste von Windows abfragt - und zwar nur, ob diese laufen oder nicht.

Beispiel:

01.
sc query "Netlogon"
Wenn ich das mache, kommt eine dicke Ausgabe - soviel brauch ich gar nicht.
Ich benötige lediglich den Namen und den Status.

01.
sc query "Netlogon" | findstr "SERVICE_NAME"
und das selbe nochmal für "STATE". Somit habe ich einen Zweizeiler, den ich mir in eine Textdatei schreiben lassen kann:

01.
sc query "Netlogon" | findstr "SERVICE_NAME STATE" > temp.txt
Nun stören mich aber für die weitere Verwendung der TXT Datei zwei Dinge: erstens, die Freizeichen und zweitens, dass ich zwei Zeilen habe.

Ich möchte eigentlich gern, dass der Name und der Status in einer einzigen Zeile stehen und das überflüssige Informationen verschwinden, sodass der Inhalt der Textdatei am Ende ungefähr so aussieht:

01.
Netlogon running 
02.
AndererDienstname running
Ist das denn möglich? Wenn ja, wie? Könnte man nicht einfach eine Variable angeben, deren Wert man nach und nach mit den Ausgaben von sc query füllt und diese dann am Ende in eine TXT Datei schreibt?

Ich weiß, dass die Umsetzung in einer höheren Programmiersprache ein Kinderspiel wäre - nun reizt mich aber die Umsetzung mit einer Batch. Ich freue mich über eure Hilfe.
Danke. derroman
Mitglied: 60730
19.06.2008 um 18:35 Uhr
Servus,

interessante Frage

Mir fallen spontan zwei Wege ein, wie du zum Ziel kommen kannst:

Variante 1
Du nimmst einen Hexeditor und schaust nach dem (CLRF) in der txt und änderst den mit ssed z.B gegen ein ;

Variante 2
Die Ausgabe landet mit > in einer temp.tmp - dort schaust du mit findstr nach den 3? möglichen States und pipest das nun in eine .log Datei.
Wenn du mit SC nicht den Dienst, sondern eine Variable (den die diversen Dienste als Inhalt hat) abfragst, wäre das dann auch noch schlank.
Bitte warten ..
Mitglied: miniversum
19.06.2008 um 18:58 Uhr
Das mit dem Anhängen an eine Variable geht wobei mir nicht ganz klar ist was die Abfrage
01.
sc query "Netlogon" | findstr "SERVICE_NAME"
Soll da Duja wieder "Netlogon" zurück bekommst...
Aber für den Rest gehts dann so von der cmd direkt aus:
01.
FOR /F "tokens=4 delims= " %i in ('sc query "Netlogon" ^| findstr "SERVICE_NAME STATE"') do @echo Netlogon %i>>datei.txt
Bitte warten ..
Mitglied: derroman
19.06.2008 um 19:00 Uhr
Ja in der Tat eine spannende Frage, nicht wahr?

Variante 1 fällt schonmal aus, da ich keine Zusatzsoftware verwenden kann.

Variante 2 geht in etwa in die richtige Richtung (so habe ich das bisher versucht),
jedoch:

der Aufruf von

01.
sc query "Netlogon" | findstr "SERVICE_NAME STATE" > temp.txt
führt zu folgender TXT Datei:

01.
SERVICE_NAME: Netlogon 
02.
        STATE              : 4  RUNNING 
Hier müsste ich dann alles rausschmeißen (von "SERVICE_NAME" über die Freizeichen bis hin zu dem Umbruch),
um am Ende einen Dateiinhalt zu haben, der so aussieht:

01.
Netlogon running
Knifflig, nicht wahr?
Bitte warten ..
Mitglied: derroman
19.06.2008 um 19:01 Uhr
oha, jetzt kam gleich noch eine Antwort - danke. Ich schau mir das mal an.
Bitte warten ..
Mitglied: derroman
19.06.2008 um 19:12 Uhr
@ miniversum :
Das war des Rätsels Lösung - tausend Dank.

Mit dem Service_Name hast du natürlich recht, den gebe ich ja sowieso mit an.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...