Innholdsfortegnelse:

Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP: 4 trinn
Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP: 4 trinn

Video: Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP: 4 trinn

Video: Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP: 4 trinn
Video: Windows Event and Logging Demystified: IT Admin Edition 2024, Desember
Anonim
Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP
Send e -post automatisk med foto fra batchfil ved hjelp av gammelt skrivebord og XP

Jeg er veldig heldig som har flott utsikt fra hjemmekontorvinduet. Når jeg er borte, vil jeg se hva jeg mangler, og jeg er ofte borte. Jeg pleide å ha et eget nettsted og en værstasjon som ville laste opp alle værdataene og et foto tatt ut av vinduet via ftp, men nettverksleverandøren gjorde vedlikehold av nettstedet tungt, så etter mange år droppet jeg den. Jeg hadde tenkt å finne en erstatningsmetode for å se ut av vinduet f.eks. gratis nettsteder, blogger, e -post … men i de fleste tilfeller ble automatiserte ftp -overføringer til disse potensielle løsningene blokkert. En ekstra komplikasjon er at jeg ofte er borte i flere måneder om gangen, så den løsningen som blir avgjort må være pålitelig.

Jeg ble inspirert av Instructables -forfatteren Olivi3r og hans Instructable for å lage et sikkerhetskamera. Etter en dag eller så med håndvridning, fikk jeg det til å fungere. Denne instruksen legger til noen viktige detaljer.

I utgangspunktet er målet å ta et bilde med webkameraet hver morgen og deretter sende bildet til meg selv via gmail som et vedlegg. Dette vil skje som følger:

  • Vekselstrømmen slås på i 15 minutter med en 110VAC -timer
  • Datamaskinen slås på
  • Webkamera -programvare tar et bilde
  • En Windows -batchfil vil kjøres som vil:
  • Utfør en PowerShell -skriptfil som sender e -posten og vedlegget
  • Batchfilkommandoen slår datamaskinen av
  • Vekselstrømmen slås av

Advarsler: Jeg er ikke en Windows -programmerer - ikke spør meg om det ikke fungerer. Jeg fikk denne tilnærmingen til å fungere ved å snorkle gjennom Internett til jeg fant nødvendig innsikt i feilsøking av filene mine. For det andre ville jeg at dette skulle kjøre på en Windows XP -maskin. Jeg er sikker på at det finnes bedre løsninger på en Windows 10 -datamaskin. Faktisk er det sannsynligvis bedre løsninger på en XP -maskin. Hvis du finner noen, legg dem i kommentarene. Å kjøre denne tilnærmingen på en bærbar datamaskin kan være vanskelig fordi datamaskinen må slås på når strømmen slås på. Instructables -kodeditoren har en ekkel vane med å sette inn og andre HTML -koder i koden (inkludert Olivi3rs kode). Jeg tror jeg har redigert alt dette, men vær forsiktig.. Til slutt ville Instructables "Full Preview" -knappen bare gi meg en blank hvit side - så WYSIWYG!

Vi gjør dette i fire trinn:

  1. Klargjør datamaskinen
  2. Skriv og feilsøk et PowerShell -skript
  3. Skriv og feilsøk en batchfil
  4. Avslutt alt og Bob er onkelen din!

Trinn 1: Klargjør datamaskinen

Grav først et gammelt skrivebord ut av skapet. Hvis det kjører på Windows XP (SP3) - vil det fungere. Denne instruksjonsboken er designet for XP, men tilnærmingen bør være den samme på Windows 10. Slå den av og påkall BIOS (vanligvis F1, del eller F2 under oppstartsprosessen). Finn noe sånt som "Strømstyring" og endre det til "Vekselstrømgjenoppretting - PÅ". Dette får datamaskinen til å starte opp når vekselstrømmen slås på. Test det.

Du må deaktivere alle passord og logge deg på som administrator. Dette er fordi datamaskinen må fullføre oppstartsprosessen uten tilsyn. Gå til Kontrollpanel, Brukerkontoer og gjør de nødvendige endringene om nødvendig.

Deretter trenger du et webkamera og et webkamera -program som tar et bilde og lagrer det. Jeg bruker Dorgem - enkelt og gratis. Sett opp Dorgem for å ta et bilde og lagre det på skrivebordet. Ikke endre navnet på bildet når du tar et nytt bilde, i stedet overskrive det siste bildet. I dette eksemplet er bildet Pic.jpg. Vær også oppmerksom på at jeg lagrer bildet på skrivebordet. Dette er viktig fordi katalogbanen er enkel. Dra og slipp Dorgem -ikonet i Windows STARTUP -mappen.

Nå - et par vanskelige biter:

Du må endre Chrome -kontoen din for å tillate mindre sikre apper. Goggle "krom mindre sikre apper" og velg det første alternativet - sannsynligvis denne. Slå på denne funksjonen. Du vil få et e -postvarsel som informerer deg om farene ved denne innstillingen. Du trenger kanskje ikke gjøre dette hvis du bruker en annen e -postserver, f.eks. Yahoo, AOL …

Deretter må du aktivere utførelsen av PowerShell -skript. Hvis du kjører Windows 10, er dette enklere - klikk på Windows -ikonet (nedre venstre hjørne av skjermen), bla nedover listen over programmer til Windows PowerShell, utvid, høyreklikk på PowerShell og velg "Kjør som administrator". Dette åpner PowerShell -vinduet. På XP er prosessen litt mer komplisert - bruk File Explorer, finn PowerShell -katalogen (noe som C: / Windows / system32 / WindowsPowerShell / v1.0), høyreklikk på PowerShell -ikonet og velg "Fest til startmeny". Nå har du tilgang til PowerShell ved å klikke på Start -ikonet (nederst til venstre) og klikke på PowerShell -ikonet. Klikk på PowerShell -ikonet, i vinduet som dukker opp, skriver du inn følgende kommando:

sett-eksekveringspolitikk fjerndesignet

Du blir bedt om å bekrefte ved å skrive "y".

bekreft at du har endret utførelsespolicyen ved å skrive:

henrettelsespolitikk

Ok! Datamaskinen er klar.

Trinn 2: Skriv og feilsøk en PowerShell -fil

Kopier og lim inn denne teksten i Notisblokk:

$ EmailTo = "[email protected]"

$ EmailFrom = "[email protected]" $ Subject = "View" $ Body = "x" $ SMTPServer = "smtp.gmail.com" $ SMTPMessage = New-Object System. Net. Mail. MailMessage ($ EmailFrom, $ EmailTo, $ Subject, $ Body) $ attachment = New-Object System. Net. Mail. Attachment ("C: / Documents and Settings / Administrator / Desktop / pic.jpg") $ SMTPMessage. Attachments. Add ($ attachment) $ SMTPClient = New-Object Net. Mail. SmtpClient ($ SmtpServer, 587) $ SMTPClient. EnableSsl = $ True $ SMTPClient. Credentials = New-Object System. Net. NetworkCredential ("userID", "password"); $ SMTPClient. Send ($ SMTPMessage)

Lagre denne filen på skrivebordet som "SendPic.ps1".

Gjør de riktige endringene til; deg, bruker -ID og passord. Vanligvis er bruker -ID -en din den komplette Gmail -adressen din.

Hvis du ikke bruker Gmail, må du rotere rundt på Internett for å finne porten som er knyttet til Smtp -serveren og endre "587" til den riktige porten, f.eks. smtp.mail.yahoo.com og porten er 465.

I stedet for å bruke Notisblokk er PowerShell -editoren tilgjengelig.

Nå for den store - høyreklikk på SendPic PowerShell -filen og velg "Kjør med PowerShell". Hvis det fungerer, vil du motta og sende e -post om noen få sekunder. Hvis det ikke gjør det, må du begynne å feilsøke.

Feilsøking

Opprett en ny PowerShell -fil på skrivebordet som heter test1 som sender en e -post uten vedlegg:

$ EmailTo = "[email protected]"

$ EmailFrom = "[email protected]" $ Subject = "test" $ Body = "x" $ SMTPServer = "smtp.gmail.com" $ SMTPMessage = New-Object System. Net. Mail. MailMessage ($ EmailFrom, $ EmailTo, $ Subject, $ Body) $ SMTPClient = New-Object Net. Mail. SmtpClient ($ SmtpServer, 587) $ SMTPClient. EnableSsl = $ True $ SMTPClient. Credentials = New-Object System. Net. NetworkCredential ("userID", "passord"); $ SMTPClient. Send ($ SMTPMessage)

Åpne filen med PowerShell -editoren ved å høyreklikke på filen og velge "Rediger". Ved å kjøre fra redaktøren kan vi lese feilmeldingene som blinker når du dobbeltklikker på filen.

cd. / desktop

. / test1.ps1

Hvis dette mislykkes, skyldes det sannsynligvis et katalogproblem. Sørg for at PowerShell er peket på skrivebordskatalogen. Kommandoprompten vil se slik ut:

PS C: / Users / you / Desktop>

Hvis den ikke gjør det, må du huske alle dine gamle DOS -kommandoer; cd, dir,. \, etc for å få PowerShell pekt på skrivebordet. Prøv igjen. Hvis det ikke fungerer, kan du lese feilmeldingen for å finne problemet

. / test1

Trinn 3: Skriv og feilsøk en batchfil

Åpne Notisblokk og kopier følgende tekst:

PING localhost -n 180> NUL

powershell.exe. / SendPic.ps1 shutdown -s -t 100

PING -setningen er en ekte hack som sender ut en kommunikasjonsforespørsel hvert andre 180 ganger. Forsinkelsen bør være lang nok til at datamaskinen kan starte opp, etablere Internett -tilkobling og ta et webkamera -bilde. Nyere versjoner av Windows støtter TIMEOUT - mye renere.

Den neste setningen kjører PowerShell -filen som sender e -posten med bildet vedlagt.

Den siste uttalelsen får datamaskinen til å slå seg av etter 100 sekunders forsinkelse. Denne tiden er valgt som tilstrekkelig til å sende e -posten.

Lagre filen på skrivebordet som SendPic.bat (ikke. TXT som vil skje hvis du ikke legger til utvidelsen til filnavnet. Dra og slipp filen i Windows STARTUP -mappen.

Dobbeltklikk på batchfilikonet. Du bør motta e -posten. Hei! For enkelt. Ja, mye kan gå galt.

Feilsøking

Problemet med feilsøking av både denne.bat -filen og den forrige. Ps1 -filen er at feilene blinker altfor raskt til å lese. Du kan senke farten med:

PAUSE

PING localhost -n 180> NUL PAUSE powershell.exe. / SendPic.ps1 PAUSE shutdown -s -t 100 PAUSE

PAUSE venter på at du trykker på ENTER -tasten. Les feilmeldingen. Igjen, det er sannsynligvis et katalogproblem. Etter at du har løst problemet, fjern PAUSE -setningene, ellers vil programmet henge.

Hvis du vil avslutte batchfilen mens den kjøres, klikker du i det åpne cmd -vinduet og skriver ^C (Ctrl C).

Trinn 4: Pakker det inn

Pakker det inn
Pakker det inn

Gamle skrivebord som kjører Windows er ikke kjent for sin pålitelighet. Hva er det første du gjør når datamaskinen din pakker seg? Slå av strømmen! Så det er det vi skal gjøre. Finn en vekselstrømbryter på Walmart eller Amazon. De billige er mekaniske (mindre enn $ 10), de dyrere er elektroniske (mer enn $ 20). Programmer bryteren slik at den slås på for eksempel 08.00 og slår seg av 15 minutter senere. Koble datamaskinen til tidtakeren.

Når tidsbryteren sender strøm til datamaskinen din, starter følgende hendelsesrekkefølge:

  1. BIOS oppdager vekselstrøm, datamaskinen starter opp
  2. Windows starter (uten pålogging av passord)
  3. Webkamera -programmet starter og tar bilde
  4. Utførelse av batchfil starter

    1. Forsinkelse for fullføring av oppstartsprosessen, bildeopptak og Internett -pålogging
    2. Utfør PowerShell -fil for å sende e -post med vedlegg
    3. Forsinkelse for fullføring av e -post
    4. Slå av datamaskinen

Tidsbryteren vil deretter fjerne strømmen fra datamaskinen. Dette er nøkkelen for pålitelig drift uten tilsyn. Jeg har overlevd periodiske feil på harddiskene, programoppheng og andre datamaskinstoppere, men når systemet mislykkes, kommer det tilbake etter en strømsyklus.

Denne tilnærmingen kan lett tilpasses sikkerhetsovervåking, for eksempel, bruk iSpy til å fange et kort videoklipp når bevegelse oppdages og sende en e -post med et videofilm. Faktisk kan konseptet utvides til å sende en e -postvarsel ved påvisning av enhver hendelse og med tillegg på en Arduino og de fysiske sensorene som er tilgjengelige i det universet - himmelen er grensen!

Anbefalt: