VisualBasic Frage zu VBS-Script

Peleke

Lieutenant
Registriert
Feb. 2006
Beiträge
921
Ich habe folgendes VBS-Script:

Code:
SET MyShell = Wscript.CreateObject("Wscript.Shell")
Set MyFiles = CreateObject("Scripting.FileSystemObject")
set Env=MyShell.Environment("PROCESS")
temp=Env("TEMP") & "\NetFiles.tmp"
set liste=MyFiles.Createtextfile("C:\Tools\FreigabenLoggen\freigabenlog.TXT")

intervall=10 'Sekunden
dauer=inputbox("Wie lange soll das Protokoll laufen? (in Stunden)","Protokoll der Zetzzugriffe")
dauer=dauer * 3600 / intervall
intervall=intervall*1000 'Millisekunden

FileID=0

for n=1 to dauer
	wscript.sleep(intervall)
	myshell.run "cmd.exe /c net.exe Files > %temp%\netfiles.tmp",0,TRUE
	set tempfile=MyFiles.Opentextfile(temp)
	do
		zeile=tempfile.readline
		if instr(zeile, ":\") then
			if trim(left(zeile,7)) > FileID then
				'liste.writeline "------------------------------------------------------------------------------------------------"
				if instr(zeile, "d:\") then
				  liste.writeline date() & ", " & time() & "  " & zeile
				  FileID = trim(left(zeile,7))
				end if 
			end if
		end if
	loop until tempfile.AtEndOfStream
next

set tempfile=MyFiles.GetFile(temp)
tempfile.delete
myshell.run "notepad.exe c:\temp\freigabentemp.txt"

Das Ergebnis sieht dann so aus:

15.05.2008, 13:05:52 220671222 d:\share ROEME04 0
15.05.2008, 13:05:52 220671425 d:\share WES18 0
15.05.2008, 13:05:52 220671526 d:\home\roeme04\Normal.dot ROEME04 0
15.05.2008, 13:05:52 220671934 d:\home\meie10\msmail\meie10.pst MEIE10 5

Wie man deutlich sieht werden mehrere Einträge eines Benutzers angezeigt (hier im Beispiel "ROEME04").
Da ich aber nur Interesse daran habe, dass ich nach einigen Tagen weiß wer alles auf die Freigaben zugegriffen hat, würde es mir reichen wenn es nur immer einen Eintrag pro User geben würde.
Wie kann ich das realisieren?
Danke für Hilfe.
 
Zurück
Oben