Top-Themen

Aktuelle Themen (A bis Z)

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 WMI - WSH Programmierung

Mitglied: RealFairPlayer

RealFairPlayer (Level 1) - Jetzt verbinden

22.11.2006, aktualisiert 17:44 Uhr, 6167 Aufrufe, 15 Kommentare

Hi zusammen,

Ich bräuchte einen Tip, ich weiß das der unten aufgeführte Code nicht ganz richtig ist, aber ich wüsste auch nicht wie ich suchen soll.

Der erste Codeteil gibt mir den Status eines Services aus:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery _
("Select * from Win32_Service where Name=´HTTPFilter´")
For Each objService in colRunningServices
Wscript.Echo objService.DisplayName & VbTab & objService.State
Next


Der folgende Codeteil sendet mir eine Email, und darin soll das Eregebnis aus dem ersten Code (also ob der Service läuft oder nicht) enthalten sein.

Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Reboot of Server"
objMessage.From = "reboot-master@anbieter.com"
objMessage.To = "matthias.orczak@anbieter.com"
objMessage.HTMLBody = "<p>This is a automatic generated email for the NOC to inform them

</p><p>that the second Umero Server (10.0.217.117) has rebooted

</p><p><strong>successfully</strong>.</p>"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.anbieter.com"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
objMessage.Send
Mitglied: bastla
22.11.2006 um 12:57 Uhr
Hallo RealFairPlayer und willkommen im Forum!

Der erste Programmteil gibt die Statusinformation (je nach Aufrufart) an der Konsole oder in einer Messagebox aus. Da Du aber die Statusinformation versenden willst, musst Du diese natürlich auch noch speichern, etwa
01.
sStatusMsg = sStatusMsg & objService.DisplayName & VbTab & objService.State & vbCrLF
Wenn diese Zeile in der Schleife platziert wird (nach oder anstatt "WScript.Echo" und vor "Next"), hast Du am Ende des ersten Programmteiles die gesammelten Meldungen (wenn es denn mehrere sind) in sStatusMsg und kannst diese in den Body der Mail einbauen.

Willst Du auf einen Status besonders reagieren, dann verwende einen Schalter. Beispiel: Vor der Schleife
01.
bReboot = False
in der Schleife
01.
If objService.DisplayName = "WasAuchImmer" Then If objService.State = "RebootOderSo" Then bReboot = True
und nach der Schleife kannst Du dann mit
01.
If bReboot Then ...
eine entsprechende Aktion auslösen (zB nur in diesem Fall die Mail verschicken).

HTH
bastla
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 13:03 Uhr
Hi!

Merci für die Schnelle Hilfe. Genau das war die Frage (Punkt 1)

Jedoch ist mir nicht klar was sStatusMsg nun ist (eine Variable?) Wenn dem so ist, wie kann ich sie im Body der Mail einbauen?

Danke im voraus,
Matthias

EDIT:

Ich ziehe die Frage zurück, habe es selbst rausgefunden. Nun noch eine Frage, könnte man die Abfrage der Services abändern in a la alles was mit service beginnt anzeigen?
Bitte warten ..
Mitglied: bastla
22.11.2006 um 13:09 Uhr
Hallo RealFairPlayer!

Jedoch ist mir nicht klar was sStatusMsg nun ist (eine Variable?)
Genau.
Wenn dem so ist, wie kann ich sie im Body der Mail einbauen?
Ohne HTML-Formatierungen zu berücksichtigen, einfach
01.
objMessage.HTMLBody = "Der Check erbrachte folgendes Ergebnis:" & vbCrLF & sStatusMsg & vbCrLF &  "Viel Spaß damit."
Grüße
bastla
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 13:12 Uhr
Merci Bastla für die schnelle Antwort

Hier noch das letzte was mir fehlt

Nun noch eine Frage, könnte man die Abfrage der Services abändern in a la alles was mit service beginnt anzeigen?
Bitte warten ..
Mitglied: bastla
22.11.2006 um 13:16 Uhr
Hallo RealFairPlayer!

Wenn Du das wirklich willst ...
Dazu die "where"-Klausel weglassen
01.
Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service")
Grüße
bastla
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 13:20 Uhr
Hmmm.... ich habe mich schlecht ausgedrückt.

Wenn ich mir alle Dateien mit dem Anfang aha unter Dos anzeigen lassen will gebe ich ja ein
dir aha*

Und sowas bräuchte ich für diese WHERE Abfrage .... nur hier geht Sternchen nicht, daher meine Frage ob die überhaupt geht und wenn ja, wie
Bitte warten ..
Mitglied: Biber
22.11.2006 um 13:28 Uhr
@bastla
...ich glaube, er meint:
01.
...("Select * from Win32_Service where Left(DisplayName,7)= 'Service'") 
und nicht alle Services.

Gruß
biber
Bitte warten ..
Mitglied: bastla
22.11.2006 um 13:29 Uhr
Hallo RealFairPlayer!

Also etwa
01.
Set colRunningServices = objWMIService.ExecQuery 
02.
("Select * from Win32_Service where Name Like 'service%'")
siehe auch http://www.microsoft.com/technet/scriptcenter/topics/win2003/like.mspx

Grüße
bastla

@Biber
Manchmal dauert's lang, dann wieder länger ...

Gibst Du mir schnell Nachhilfe: Müsste ich die Bedingung case-sensitiv formulieren?
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 13:44 Uhr
Hoi!

Merci erst mal für all eure Mühen, ehrlich! Nun tut alles was es soll

Nun habe ich alle Services und sie werden auch ausgegeben, könnte man evtl. nach jedem Status (also running or stop) noch einen Zeilenumbruch einfügen oder wäre des zuviel des guten? *neugierigschau*

EDIT:

Manchmal sollte ich einfach erst denken und dann schreiben Merci - erledigt.
Bitte warten ..
Mitglied: bastla
22.11.2006 um 13:50 Uhr
Hallo RealFairPlayer!

Textzeilenumbruch hatte ich ohnehin (vbCrLF), ansonsten:
01.
sStatusMsg = sStatusMsg & "<p>" & objService.DisplayName & VbTab & objService.State & "</p>" & vbCrLF
Grüße
bastla
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 13:56 Uhr
Einen hab ich noch

Wieso klappt das so nicht?

("Select * from Win32_Service where Name Like 'Um%' AND where state Like 'running'")


Matze
Bitte warten ..
Mitglied: bastla
22.11.2006 um 14:00 Uhr
Hallo RealFairPlayer!

So vielleicht?
("Select * from Win32_Service where Name Like 'Um%' AND where state Like 'running'")

Grüße
bastla

[Edit] Obwohl: Bei "State" kannst Du auch auf Gleichheit überprüfen, die Ähnlichkeitssuche ("Like") benötigst Du nicht - außerdem sehe ich ohnehin kein Jokerzeichen ("%"). [/Edit]
Bitte warten ..
Mitglied: RealFairPlayer
22.11.2006 um 14:02 Uhr
Vielleicht bastla, vielleicht ... wer weiß .. wer weiß

MERCI und vielen lieben Dank an euch beide für die schnelle und geniale Hilfe. Hier fühl ich mich wohl ... hier wird geholfen

Euch noch nen schönen Tag

Matthias
Bitte warten ..
Mitglied: bastla
22.11.2006 um 14:05 Uhr
Hier fühl ich mich wohl ...
So soll's sein ...

Dir auch einen schönen Tag
bastla
Bitte warten ..
Mitglied: Biber
22.11.2006 um 17:44 Uhr
@bastla
Manchmal dauert's lang, dann wieder länger ...
Kann ich nur bestätigen...
Müsste ich die Bedingung case-sensitiv formulieren?
Nein.
Diese Ausgabe hier..
01.
>cscript //nologo f:\showservices.vbs 
02.
ImapiService    IMAPI-CD-Brenn-COM-Dienste      Stopped 
03.
srservice       Systemwiederherstellungsdienst  Stopped 
04.
TermService     Terminaldienste Running
... kam bei der Abfrage "Select * from Win32_Service where Name Like '%service%' "

Ebenfalls schönen Abend
Biber

P.S. @RealFairPlayer:
Du kannst (eigene) Beiträge auf "Gelöst" setzen, also diesen schönen grünen Haken anzeigen lassen, wenn Du auf der Frage selbst "Editieren" drückst.
Dann siehst Du im Menü ein Kontrollkästchen "Dieser Beitrag gilt als gelöst".
Bitte warten ..
Ähnliche Inhalte
HTML
HTML Programmierung
Frage von Alex29HTML5 Kommentare

Hallo zusammen, ich wollte mein Haus etwas smarter machen und habe daher nun einige Microcontroller laufen, die einige Steuerungsfunktionen ...

VB for Applications
VBA Programmierung
Frage von specialuserVB for Applications4 Kommentare

Hallo zusammen, der Wert aus Zelle L30 und N30 soll ins wb2 kopiert werden funktionier so weit auch ganz ...

Windows Tools
WSH - Dateien umbennnen
gelöst Frage von peter58haWindows Tools10 Kommentare

Hallo zusammen, ich bin absoluter Neuling in Sachen WSH und benötige eure Hilfe bei einem Script, welches Dateien umbenennt. ...

Batch & Shell

Shellscript Programmierung gegen Bezahlung

gelöst Frage von lord-iconBatch & Shell

Hallo, es wird jm gesucht, der sich mit Bash-Befehlen auskennt. Es muß ein bash-script erstellt werden. Hintergrund: Von einen ...

Neue Wissensbeiträge
Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 20 StundenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 21 StundenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 2 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Suche Projektpartner

PC Recycling Projekte mit Flüchtlingen und Kids suchen Materialspenden und Mitmacher!

Erfahrungsbericht von NettePCyclePiraten vor 3 TagenSuche Projektpartner13 Kommentare

Hallöchen liebe Kollegen, ich betreue zwei PC-Gruppen im Raum Dortmund: "Ne#e PCycle Pir@ten" & "PCschr@uber Br@mbauer" Wir sind eine ...

Heiß diskutierte Inhalte
Batch & Shell
PowerShell Auflösung zu .txt (Skript als exe) falsche Auflösung?!
gelöst Frage von timsen-96Batch & Shell28 Kommentare

Ich habe folgendes Skript um die Bildschirmauflösung herauszufinden, was auch in PowerShell super funktioniert: Add-Type -AssemblyName System.Windows.Forms $Width = ...

Exchange Server
Exchange Backup 10 Jahre Aufbewahrung
Frage von arccosExchange Server20 Kommentare

Hallo zusammen. Aktuell beschäftigen mich ein paar Fragen zum Thema Office365/ Exchange. 1.10 Jahre Aufbewahrungspflicht sicherstellen 2.Kann man als ...

Humor (lol)
Windows 10 - immer für Überraschungen gut
gelöst Frage von HenereHumor (lol)18 Kommentare

Eben nach (beim) installieren der neuesten Updates für 1803 :-) Und sorry fürs Handyfoto, aber der musste sein. Nach ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk16 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...