|
| Hjælp til VBScript Fra : goebbels | Vist : 1079 gange 500 point Dato : 04-01-10 20:37 |
| | |
|
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
| |
|
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.
| |
|
Til dem der lige undrer sig, goebbels har skrevet lidt i PM til mig
| |
|
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.
| |
|
|