/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Hjælp til VBScript
Fra : goebbels
Vist : 1114 gange
500 point
Dato : 04-01-10 20:37

Jeg skal bruge et program til at "overvåge" og emaile/sms evt. ændringer i en txt fil. Jeg har fundet nedenstående VBScript og ønsker hjælp til om det er det rigtige valg og evt. rette det til.
Jeg forstår ikke selv meget VB, men har en smule grundlæggende viden om programmering og funktionerne i nedenstående.
http://gazeek.com/coding/vbscript-to-pull-events-from-event-log-and-email-to-yourself-past-24-hours/

P.S. Jeg er villig til at betale hvis det kræves.

 
 
Kommentar
Fra : EXTERMINATOR


Dato : 04-01-10 23:41

det script du har fundet er vist ikke lige det du leder efter.

lad mig se om jeg har forstået dig ret:
du har en eksisterende tekstfil, hvis der ændres i den skal der sendes en email

er det en stor fil eller kan man bare emaile hele filen?

hvordan bliver filen ændret, tilføjes der bare en linje i enden eller bliver der rettet inde mit i det hele?

Kommentar
Fra : goebbels


Dato : 05-01-10 13:34

-Det er en eksisterende tekstfil
-Hvis den ændres skal ændringen sendes da jeg hurtigt skal kunne få et overblik over hvad der er skrevet til den
-Filen bliver ændret ved at der skrives en ny linie. Altid i enden

Kommentar
Fra : EXTERMINATOR


Dato : 05-01-10 13:43

ok, skal prøve om jeg lige kan nå at kigge på det i aften, men umidelbart burde det være ret nemt at lave.

sætte et script til at overvåge filen og ved ændring læse sidste linje og maile den

Kommentar
Fra : goebbels


Dato : 05-01-10 13:55

Kanon :)
Jeg kan muligvis selv finde ud af at ændre filens placering og navn samt serveroplysninger i scriptet....

Accepteret svar
Fra : EXTERMINATOR

Modtaget 500 point
Dato : 10-01-10 20:06

har ikke lige haft tid til at kigge på det før nu, sorry

her er et eksempel på et script der overvåger en fil og hvis der er ændringer sender scriptet en mail.
i dette eksempel har jeg brugt tdc som afsender, ved jo ikke hvilke mulighedder du har.
Kode
strComputer = "." 'her har jeg valgt lokal computer
strfile = "c:\\scripts\\index.vbs" 'lokal sti til filen der skal overvåges
ventetid = 10 'antal sekunder mellem hvert check

Const ForReading = 1
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
Const cdoBasic = 1
Const cdoNTLM = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN " & ventetid & " WHERE TargetInstance ISA 'CIM_DataFile' and TargetInstance.Name='" & strfile & "'")

Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Set objFile = objFSO.OpenTextFile(strfile, ForReading)

Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
Loop

objFile.Close

sendpost(strLine)
Loop



sub sendpost(tekst)
'der er mange muligheder når man skal sende mail, her er et eksempel på afsendelse via tdc

Set objMessage = CreateObject("CDO.Message")

objMessage.Subject = "Ændring i fil på server" 'Emne på mailen
objMessage.From = """EXTERMINATOR"" <tdcmail@c.dk>" 'Afsender
objMessage.To = "modtager@skolekom.dk" 'Modtager


objMessage.TextBody = tekst

objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

'SMTP server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "asmtp.mail.dk"

objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic

'brugernavn på afsendermail
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "120xxxxxxxxx"

'koden til afsendermail
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "abcdefgh"

'port der bruges til afsendelse, port 25 er blokeret de fleste steder derfor bruger man den alternative port 587
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587

objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False

objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60


objMessage.Configuration.Fields.Update
objMessage.Send

end sub


husk at rette mailoplysningerne

Kommentar
Fra : goebbels


Dato : 15-01-10 15:57

Super.
Prøver om det virker og vender så tilbage, ok?

Kommentar
Fra : goebbels


Dato : 16-01-10 12:54

Lyder jo ud til at du kan få det til at virke EX, så det må jo være mig der er noget galt med... :)

Godkendelse af svar
Fra : goebbels


Dato : 16-01-10 12:54

Tak for svaret EXTERMINATOR.

Kommentar
Fra : EXTERMINATOR


Dato : 16-01-10 14:25

Til dem der lige undrer sig, goebbels har skrevet lidt i PM til mig

Kommentar
Fra : EXTERMINATOR


Dato : 17-01-10 20:36

for en god ordens skul skal vi vel lige have det færdige resultat her, dette her er sat op til at sender via Gmail, har flyttet indstillingerne op i toppen så man ikke skal side og lede efter dem

Kode
'**** Script til overvågning af fil på server.
'**** Der afsendes email med sidste linje i filen
'**** Lavet af EXTERMINATOR til en bruger på Kandu.dk

'**********************Alle ændringer foretages i denne boks*****************************
strComputer = "." 'her har jeg valgt lokal computer *
strfile = "c:\\test.txt" 'lokal sti til filen (husk dblt backslash) *
ventetid = 10 'antal sekunder mellem hvert check *
afsender = "min @gmail.com" 'Afsender email *
brugernavn = "min @gmail.com" 'brugernavn til afsenderkonto *
kode = "kotetilgmail" 'kode til afsenderkonto *
modtager = "EXTERMINATOR fra kandu.dk" 'modtagers emailadr *
emne = "Ændring i fil på server" 'mailens emne *
smtpserver = "smtp.gmail.com" 'adr på smtpserver *
smtpport = 465 'smtp port nummer Gmail = 465 *
ssl = True 'ssl True/False    Gmail = True *
godkendelse = 1 'anonymt=0 klartekst=1 sikker=2 *
'****************************************************************************************

Set objShell = CreateObject("Wscript.Shell")
Const ForReading = 1
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN " & ventetid & " WHERE TargetInstance ISA 'CIM_DataFile' and TargetInstance.Name='" & strfile & "'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
intReturn = objShell.Popup("Ændring opfanget, der sendes en mail",10, "sender post",0)
Set objFile = objFSO.OpenTextFile(strfile, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
Loop
objFile.Close
sendpost(strLine)
Loop
sub sendpost(tekst)
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = emne
objMessage.From = """EXTERMINATOR"" <" & afsender & ">"
objMessage.To = Modtager
objMessage.TextBody = tekst
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpserver
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = godkendelse
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = brugernavn
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = kode
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = smtpport
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = ssl
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
objMessage.Send
end sub


Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409070
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste