script_centerFür administrative Zwecke, zum Beispiel für automatisierte Backups, Scheduled Tasks o.ä. ist es manchmal erforderlich, bestimmte Applikationen per Script zu beenden.

Letztlich hatte ich genau so eine Anforderung: Outlook sollte für das Backupen der OST-Datendatei geschlossen werden. Als Lösung wird ein simpler Aufruf von Windows Management Instrumentation (WMI) verwendet, welcher abfragt, ob ein Prozess mit einem bestimmten Namen läuft und diesen terminiert:

' killtask.vbs by TP
' simple script for killing a proccess task.
pgm = "Outlook.exe"
set wmi = getobject("winmgmts:")
sQuery = "select * from win32_process " &_
  "where name='" & pgm & "'"
set processes = wmi.execquery(sQuery)
for each process in processes
  process.terminate
next
' decomment for user info:
'
msgbox pgm & " closed.", vbinformation

Öffnen Sie Notepad oder einen ähnlichen Texteditor, kopieren Sie das obige Script hinein, passen Sie den Applikationsnamen an (z.B. Outlook.exe) und speichern Sie das Script "killtask.vbs" ab. Dann einfach Outlook starten und mit Doppelklick ausprobieren!

Hinweis: Wenn in der zu schließenden Applikation ungesicherte Dokumente geöffnet sind, sind diese durch das Beenden verloren!
D.h. wenn Sie beispielsweise "Winword.exe" mit dem Script beenden und es ist ein neues oder geändertes Dokument offen, wird dieses ohne Sicherheitsabfrage geschlossen und der Inhalt ist verloren. Das war aber auch nicht Zweck dieses Scripts ;-).

Interessierte finden in WMI als Bestandteil des Windows Betriebssystems eine riesige Spielwiese für allerlei brauchbare Automatisierungen. Viele interessante Scripts und Informationen finden sich u.a. im Script Center.

PS: Ein ganz heißes Nachfolge-Thema für Scripting und Automatismen ist die Microsoft Powershell! Viel Spaß beim Scripten!

Beitrag von Toni Pohl