Bei diesem Skript erscheint eine Dialogfenster,
das nach 3 Sekunden wieder ausgeblendet wird.
set wshshell = createobject("Wscript.shell")
wshshell.popup "Nach 3 Sekunden bin ich wieder weg.",3,"Messageboxmeldung"
Alternative mit Msgbox:
MsgBox ( flag, "title", "text" [, timeout] )
Parameter flag = Das flag gibt an, wie die Box aussieht, und welche Buttons angezeigt werden. Siehe Bemerkungen. title = Der Titel der MessageBox. text = Der Text der MessageBox. timeout = [optional] Zeitbegrenzung in Sekunden. Danach wird die MessageBox automatisch geschlossen.
Originaltext [text]
alter Text ["ein Test"]
neuer Text ["abgeschlossen"]
Textersetzungsanfang [1] -> optional
Anzahl der Textersetzung [-1] -> alle ersetzen
Klein- und Grosschreibung beachten [1] = nicht beachten [0] = beachten -> optional
text = "Dies ist ein Test."
ausgabe = Replace(text, "ein Test", "abgeschlossen",1,-1,1)
msgbox ausgabe
Dieses Skript kopiert bestimmte Dateien/ordner in einen Sicherungsordner und hält hier mehrere Stände vor. Die Backup-Ordner werden nach Datum benannt und es wird überprüft, ob ein bestimmter Ordner schon das maximale alter erreicht hat und wird dann ggf. gelöscht. Die Maximale Anzahl der Stände kann frei definiert werden und wird über das DateLastModified überprüft!
'--------- Ralf Entner / MR Datentechnik
'--------- Oktober 2007
'Skript zum Sichern von Dateien in einen Ordner
'Immer einen neuen Ordner erstellen und max. x Stände dieses Ordners vorhalten
'Das Skript erzeugt einen Ordner mit dem Namen des Datums
'Danach können beliebige Dateien in den Ordner kopiert werden
'Am Schluß wird geprüft, wieviele Stände dieses Ordners bereits vorleigen
'Es werden die Maximale Anzahl an Ordner vorgehalten, die unter MaxFolder angegeben 'sind 'alle anderen werden gelöscht
'Variablen-Erklärung
'MaxFolder = Anzahl der Speicherstände, die vorgehalten werden sollen
'sFolder = Sicherungsornder, in denen die Speicherstände vorgehalten werden
'bFolder = täglicher Backup-Ordner, in dem die entsprechenden Dateien kopiert werden
'--------------
'Variablen deklarieren
Option Explicit
on error resume next
Dim wshshell, fso, MaxFolder, sFolder, bFolder, ordner, unterordner
'--------------
'Objekte generieren
set wshshell = CreateObject("Wscript.Shell")
set fso = CreateObject("Scripting.FileSystemObject")
'Überprüfen, ob alte Stände gleöscht werden können
'Überprüft ob DateLastModified kleiner ist als heute minus MaxFolder-Tagen
'Wenn diese Differenz kleiner ist, dann wird dieser gelöscht
set ordner = fso.getfolder(sfolder)
for each unterordner in ordner.subfolders
If unterordner.DateLastModified < (now - maxfolder) Then
fso.deletefolder unterordner
end if
next
'************************************************************
'
' Datei: wmi-ping.vbs
'
' Gibt 'kurzfristig' zurück, ob ein PC erreichbar ist.
'
'************************************************************
Option Explicit
Dim Tst, ZielPC
ZielPC = "192.168.100.11"
Tst = Timer
' If WMIpingOK( ZielPC ) = False Then
If not WMIpingOK( ZielPC ) Then
MsgBox ZielPC & vbCRLF & vbCRLF & "ist momentan nicht erreichbar!"& vbCRLF & vbCRLF & "Später noch einmal versuchen.", , Timer - Tst & " - " & WScript.ScriptName
WScript.Quit
End If
' Aufruf z.B.: If not WMIpingOK( ZielPC ) Then MsgBox ZielPC & " ist nicht erreichbar." : WScript.Quit
Dim objPing, objStatus
WMIpingOK = True
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & PCName & "'")
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
WScript.Echo("PCName " & PCName & " is not reachable")
WMIpingOK = False
End If
Next
Set objPing = Nothing
End Function ' WMIpingOK( PCName )
Beispiel mit drei Diensten - kann beliebig erweitert werden!
Es ist möglich das ganze als geplanten Task mehrfach täglich laufen zu lassen!
Alle laufenden Dienste werden in der service.txt gespeichert und dann wird nach den entsprechnden Diensten darin gesucht.
Ist der Dienst nicht gestartet, dann wir er gestartet und ein Eintrag in die ausfall.txt erstellt mit Uhrzeit und Datum!
Die ausfall.txt wird NICHT überschrieben, sondern alle Fehler werden angehängt!
Die service.txt wird bei jedem Aufruf neu generiert!
@echo off
REM --- alle laufende Dienste in service.txt speichern---
net start > service.txt
REM ------------- Überprüfen ob 1.Dienst läuft --------------
find "Designs" service.txt
if errorlevel 1 goto WEG1
if errorlevel 0 goto OK1
:WEG1
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
echo Designs %date% %time% >> ausfall.txt
net start "Designs"
goto OK1
REM ---------------------------------------------------------
:OK1
REM ------------- Überprüfen ob 2.Dienst läuft --------------
find "Hilfe und Support" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK2
:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Hilfe und Support"
echo Hilfe und Support %date% %time% >> ausfall.txt
goto OK2
REM ---------------------------------------------------------
:OK2
REM ------------- Überprüfen ob 3.Dienst läuft --------------
find "Taskplaner" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK3
:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Taskplaner"
echo Taskplaner %date% %time% >> ausfall.txt
goto OK3
REM ---------------------------------------------------------
:OK3
goto END
:END
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”