Hier eine kleine Funktion die überprüft ob ein Prozess läuft oder nicht , sie baut auf VBS / WSH und WMI auf und liefert TRUE oder FALSE zurück.
Funktion :
Function CheckProcess(name)
'------------------ check for running process
Dim ObjProcess
Set ObjProcess = OBJWMI.ExecQuery("select * from win32_process where name='" & name & "' ")
If ObjProcess.Count <> 0 Then
CheckProcess = True
Else
CheckProcess = False
End If
Set ObjProcess = Nothing
End Function
diese Funktion kann z.B. so eingebunden werden
Beispiel :
Do
BoolCkProc = CheckProcess("notepad.exe")
WScript.Sleep 5000
Loop Until BoolCkProc = False
Benötigt wird natürlich das WMI interface
Dim StrComputer : StrComputer = "." '-- lokaler Rechner
Dim OBJWMI : Set OBJWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
Funktion um ein Logfile in VBS zu schreiben , der neue Eintrag wird immer angehängt.
Benötigt einen Verweis auf
Dim ObjFso : Set ObjFso = CreateObject("Scripting.FileSystemObject")
Und die Variable FIL_LOG muss deklariert sein !
Dim FIL_LOG : FIL_LOG = "C:\" & Replace(WScript.ScriptName,".vbs",".log")
Funktion :
Function WriteLog(Inhalt)
'------------------ Schreibt ein Logfile
Dim FileOut
Set FileOut = ObjFso.OpenTextFile(FIL_LOG,8,true)
FileOut.WriteLine (Inhalt)
FileOut.Close
Set FileOut = Nothing
End Function
Problem:
Um Aufmerksamkeit zu erregen, soll eine LED an der Tastatur blinken.
Lösung:
Die ScrollLock-LED blinkt, und auf dem Bildschirm erscheint ein PopUp, mit dem das Blinken abgestellt werden kann.
set WshShell = WScript.CreateObject("WScript.Shell")
do
WshShell.SendKeys "{SCROLLLOCK}"
Abbruch = WshShell.PopUp("Blinker stop",1,"Mail",0)
if Abbruch<>-1 then exit do
loop
Problem:
Man möchte den Inhalt einer ZIP-Datei bzw. die Anzahl der Dateien in der ZIP-Datei überprüfen.
Lösung:
Mit folgendem VB-Skript kann man die Anzahl der Dateien innerhalb der ZIP-Datei überprüfen.
Sollte die Anzahl (filesinzip.Count) 0 sein, dann ist die ZIP-Datei entweder beschädigt oder leer.
Set objApp = CreateObject("Shell.Application")
set filesInzip=objApp.NameSpace("C:\test.zip").Items
Msgbox filesinzip.Count
Problem :
Ich betreibe einen kleinen FTP Server der unter vsFTP arbeitet , öfter kommen neue Benutzer hinzu , um mir die Tipparbeit zu sparen hab ich ein kleines Bashscript geschrieben das das für mich übernimmt. Es ist nicht so kompliziert nimmt einem aber viel Arbeit ab
Lösung :
# !/bin/bash
echo -n "Bitte Benutzernamen angeben : "
read username
echo "-- Erstelle Home Verzeichnis für $username"
mkdir /home/$username
echo "-- Erstelle Benutzer $username"
useradd $username -d /home/$username -g ftpgroup -s /bin/false
chown nobody:ftpgroup /home/$username
chmod 1770 /home/$username
echo "Bitte geben Sie das Password für den Benutzer $username an"
passwd $username
echo $username >> /etc/vsftpd.user_list
echo "Benutzer $username wurde angelegt"
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”