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

Application Watchdog selbst gemacht mit WSH

Anleitung Entwicklung VB for Applications

Mitglied: Kosh

Kosh (Level 2) - Jetzt verbinden

13.08.2007, aktualisiert 02.12.2008, 15327 Aufrufe, 17 Kommentare, 1 Danke

01.
sProcessName = "meineapplikation.exe"         
02.
' Hier die Ausführbare Datei der zu überwachenden Applikation angeben 
03.
 
04.
sComputer = "."    
05.
Set oWmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2") 
06.
 
07.
Set oShell = CreateObject("WScript.Shell") 
08.
 
09.
Do 
10.
  Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'") 
11.
 
12.
  If colProcessList.Count = 0 Then 
13.
     oShell.Run """C:\pfad\meineapplikation.exe""", 1, False 
14.
     ' Hier den Pfad zur überwachenden Applikation angeben. 
15.
 
16.
     ' Um die Applikation minimiert zu starten: 
17.
     ' oShell.Run """C:\pfad\meineapplikation.exe""", 7, False 
18.
      
19.
      
20.
     WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile("fail.log", 8, true).WriteLine (Date() & " " & Time() & " Task neugestartet") 
21.
     ' Schreibt einen LogFileeintrag wenn der Task neu gestartet wird. (Thx an MISTAX) 
22.
   End If 
23.
 
24.
  WScript.Sleep 5 * 60 * 1000        
25.
  ' Hier kann die Wartezeit bis zur nächsten Prüfung eingestellt werden. Standard: 5 min 
26.
Loop
Q: Was macht das Teil?

A: Dieses Script überwacht (wenn gestartet) einen definierten Prozess ob dieser läuft oder nicht.
Wenn der Prozess läuft, geht das Script, oder besser gesagt der Thread, für 5 Minuten (kann unter WScript.Sleep x * 60 * 1000 eingestellt werden. x = Minuten) in den Sleep-Mode.
Wenn nicht, wird der definierte Prozess gestartet, und danach geht der Thread schlafen.



Q: Muss ich hier mit dem Taskplaner etwas einplanen?

A: Nein. Das Script einfach starten (Autostart, Gruppenrichtlinie,... ) und das wars. Es läuft dann ständig im Hintergrund (standardmässig unter WScript.exe) und benötigt daher ständig ca. 1-2 MB Speicher.
Da der Thread jedoch die meiste Zeit im Sleep-Mode verbringt, wird keine wertvolle Prozessorzeit verbraten.
Mitglied: Iwan
13.08.2007 um 12:52 Uhr
schöne Sache... das Script hätte ich vor gut 3 Monaten gebraucht
Bitte warten ..
Mitglied: manuel-r
13.08.2007 um 14:24 Uhr
Blöde Frage: Läuft das Script auch mit Benutzerrechten? Ich würde damit nämlich dann gerne Outlook offen halten. Wir haben ein paar Spezialisten, die Outlook immer wieder schließen und sich dann wundern, dass sie keine Mails bekommen

Manuel
Bitte warten ..
Mitglied: Kosh
13.08.2007 um 14:26 Uhr
wenn es im autostart oder im logon script gestartet wird, dann läuft es unter dem angemeldeten benutzer.
Bitte warten ..
Mitglied: manuel-r
13.08.2007 um 14:56 Uhr
Grundsätzlich funktioniert es. Aber:
Wenn ich das Script im Logonscript aufrufe ergeben sich erwartungsgemäß zwei Probleme. Binde ich das Script einfach mit cscript <pfadzumscript> ein geht es danach nicht weiter, da das Logonscript auf das Ende des Processes wartet. Versuche ich es mit start cscript <pfadzumscript> geht's zwar weiter aber es bleibt ein unschönes CMD-Fenster stehen.
Was tun?

Manuel
Bitte warten ..
Mitglied: Kosh
13.08.2007 um 15:05 Uhr
wenn dus übers logonscript startest, nutze:

start cscript meinscript.vbs

das cmd fenster das ansonsten stehen bleibt ist eigentlich das anmelde-batch das auf das ende vom script wartet.
Bitte warten ..
Mitglied: manuel-r
13.08.2007 um 15:12 Uhr
Das finde ich jetzt aber merkwürdig. Wenn ich beim Aufruf mit start den Interpreter cscript mit angebe, dann bleibt die Box stehen. Lasse ich ihn weg geht's. War nur etwas doof an meinem Rechner, weil ich hier VBS-Dateien standardmäßig mit meinem Editor verknüpft habe also musste ich zum Testen den Interpreter mit angeben. Nachdem ich auf starten mit WSH umgestellt habe funktioniert's. Dann schalte ich das mal scharf in der Domäne
Bitte warten ..
Mitglied: Kosh
13.08.2007 um 15:14 Uhr
mein fehler.

meinte auch call und nicht start. is ja auch schon heimgehzeit
Bitte warten ..
Mitglied: Oli82
20.09.2007 um 19:04 Uhr
Hab ein Problem mit dem Script.
Das Script versucht alle 5 Minuten die zu überwachende .exe zu starten, obwohl sie schon läuft.

Kann ich das irgendwie abstellen?
Bitte warten ..
Mitglied: Kosh
01.10.2007 um 07:37 Uhr
moin.

hast du in der ersten zeile auch den richtigen prozessnamen angegeben?

01.
sProcessName = "meineapplikation.exe"  
Bitte warten ..
Mitglied: MISTAX
25.11.2008 um 13:19 Uhr
01.
oShell.Run "C:\pfad\meineapplikation.exe", 1, False
Wenn hier steht "C:\Programme\Audacity\audacity.exe" ist es kein Problem;

wenn hier aber steht: "C:\Programme\Internet Explorer\iexplore.exe"

findet er den Pfad nicht. Als absoluter VBS-Laie tippe ich auf das Leerzeichen; hat jmd. einen Tip, wie es trotzdem funktioniert?

Danke!
Bitte warten ..
Mitglied: Kosh
25.11.2008 um 13:30 Uhr
01.
oShell.Run """C:\pfad mit leerzeichen\meineapplikation.exe""", 1, False
sollte gehen.
Bitte warten ..
Mitglied: MISTAX
25.11.2008 um 13:40 Uhr
Danke vielmals, es klappt. Ich habe noch eine Zeile in den watchdog eingefügt, damit er mir eine Log schreibt, wenn er das Programm neustarten muss; vermutlich für euch überhaupt kein Problem, aber vielleicht schaun hier ja noch mehr so Laien vorbei, wie ich.

01.
WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile("fail.log", 8, true).WriteLine (Date() & " " & Time() & " Task neugestartet")
Einzufügen nach Zeile 14.
Bitte warten ..
Mitglied: Kosh
25.11.2008 um 13:44 Uhr
Nice, danke. Hab das gleich mal hinzugefügt.
Bitte warten ..
Mitglied: Rehner
29.11.2008 um 09:01 Uhr
Hallo Kosh,

super Anleitung, genau was ich gesucht habe! (habe auch das Problem mit dem dauernd ausversehen beendeten Outlook)
Jedoch bekomme ich bei der Ausführung des Scripts eine Fehlermeldung das die Anwendung nicht gefunden werden konnte. (Zele 13 Zeichen 6) Ich bin mir jedoch sicher, das der Pfad zur Outlook exe richtig angegeben ist.

Hier der entsprechende Code-Abschnitt:
01.
 If colProcessList.Count = 0 Then 
02.
     oShell.Run "C:\Programme\Microsoft Office\OFFICE11\OUTLOOK.exe", 1, False    
03.
     ' Hier den Pfad zur überwachenden Applikation angeben
Weiß jemand rat?

Gruß Nicolas
Bitte warten ..
Mitglied: MISTAX
29.11.2008 um 16:54 Uhr
Siehe 3-4 Posts drüber, gleiches Problem wie ich; Lösung steht da auch schon ;)
Bitte warten ..
Mitglied: Rehner
30.11.2008 um 10:35 Uhr
Danke, wer lesen kann ist halt doch klar im Vorteil!

Eine Frage habe ich aber noch, ist es möglich die Anwendungen über das Script mit Parametern wie z.B. "minimiert" zu starten?
Habe nämlich das dumpfe Gefühl das wir wieder so Helden dabei haben, die das aufpoppende Outlook mit dem Kreuz beenden, anstatt es ins Tray zu minimieren.

Gruß Nic
Bitte warten ..
Mitglied: Kosh
02.12.2008 um 08:12 Uhr
Versuch mal Zeile 13:

01.
oShell.Run "C:\pfad\meineapplikation.exe", 7, False
EDIT: Danke für das viele Feedback Leute!
Ich arbeite alle Änderungen und Ideen gleich oben in den Originalcode ein.
Bitte warten ..
Ähnliche Inhalte
Sicherheit
Application Whitelisting - Umgang mit Systemdateien
Tipp von DerWoWussteSicherheit2 Kommentare

Es begab sich Ende letzter Woche, dass einem Sicherheitsspezi auffiel, dass eine Windowssystemkomponente (c:\windows\system32\regsvr32.exe) ihm bislang unbekannte Fähigkeiten hat: ...

Verschlüsselung & Zertifikate
USB-Stick-Verschlüsselung im Unternehmen - leicht gemacht
Tipp von DerWoWussteVerschlüsselung & Zertifikate24 Kommentare

Mir ist vor kurzem aufgefallen, dass Bitlocker in Win8/Server 2012- (oder höher) Umgebungen ein sehr praktisches Feature hat, das ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 13 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 15 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.