Har nu gjort klart ett Powershell script som hämtar bilder från webkameror och sorterar dessa i egna mappar, syftet med detta är att helt enkelt kunna spara bilder några dagar innan dessa automatiskt tas bort av samma script. Detta kan vara en rolig grej för att skapa stop motion filmer eller bara ha möjlighet att gå tillbaka några dagar för att se när den där spaden eller pulkan försvann.
Spara scriptet som finns längst ner på sidan som ”AutoDownloader.ps1” , spara det i en mapp där du önskar köra scriptet från sedan.
Öppna scriptet och gå ner till slutet på scriptet, fyll där på med adresserna till dina webkameror.
Exemplen nedan är till två Hikvison kameror och den tredje är till en D-link kamera.
- #Download-WebCamImage -Websidan ”http://DemoCam1/Streaming/channels/1/picture” -Destination $DestinationsMapp -filnamnet Entre -webUsername adm -webPassword password -RequiresPassword
- #Download-WebCamImage -Websidan ”http://DemoCam2/Streaming/channels/1/picture” -Destination $DestinationsMapp -filnamnet Garaget -webUsername adm -webPassword password -RequiresPassword
- #Download-WebCamImage -Websidan ”http://10.1.0.39/image/jpeg.cgi” -Destination $DestinationsMapp -filnamnet Uterummet
Genom att köra scriptet fås följande resultat, tre mappar skapas eftersom det nu finns tre kameror i mitt script. Namnet på mapparna är samma som namnet du väljer på filnamnet ovan.
Inne i mappen Garaget får man följande resultat efter att ha kört scriptet två ggr:
Förklaring på parametrarna:
- -Websidan # Ange länken dit din webkamera tillåter att du hämtar stillbilder.
-Destination # OBS Editera inte detta utan använd $DestinationsMapp
-filnamnet # Ange här vad du vill att bilderna och mappen ska döpas till.
En del kameror kräver lösenord, använd då följande:
- -webUsername adminkonto # om kontot du vill använda heter adminkonto
-webPassword Passw0rd # lösenordet till kontot (exemplet här då är Passw0rd som lösenord”. - -RequiresPassword # Aktiverar så att funktionen använder lösenord.
För att schemalägga detta så gör följande:
Öppna schemaläggaren på din dator / Server.
Högerklicka på ”Bibliotek för schemaläggaren” och välj ”skapa en standardaktivitet”
Ge aktiviteten ett beskrivande namn och en eventuell information under beskrivning.
Under utlösare så välj ”varje dag” (detta kommer att ändras sedan), fortsätt sedan.
Under nästa flik så låt standard vara dvs 1 dag, fortsätt sedan.
Under Åtgärd så välj ”starta ett program”
Fyll sedan i följande under ”program eller script”
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Under ”lägg till argument” fyll i följande: (viktigt att inte glömma följande tecken före och efter ” )
”D:\temp\AutoDownloader.ps1” ”-DestinationsMapp D:\temp -loggning -CleanOldImages”
Fortsätt sedan till slutför, bocka där i ”öppna dialogruta egenskaper för denna aktivitet när jag klickar på slutför” och tryck sedan på slutför.
Börja med att markera ”kör oavsett om användaren är inloggad eller inte”
Gå sedan till fliken utlösare och dubbelklicka på utlösaren ”varje dag”
Bocka sedan i ”upprepa aktiviteten varje:” och välj sedan hur ofta du vill att bilderna ska sparas. I exemplet har jag valt var 3:e minut.
Eftersom detta nu är en sida om Automatisering så går detta självklart att göra med script med!
$pathtoScript = $(read-host -Prompt ”Ange sökvägen till ditt script”)
$pathtoDestination = $(read-host -Prompt ”Ange sökvägen till ditt du vill att alla bilder ska sparas”)
$tmpPassword = $(read-host -Prompt ”Ange lösenordet på ditt konto”)
$SchemaNamn = $(read-host -Prompt ”Ange namnet på jobbet i schemaläggaren”)
$TaskAction = New-ScheduledTaskAction -Execute ”C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” -Argument ”$($pathtoScript) -DestinationsMapp $pathtoDestination -loggning -CleanOldImages”
$StartTrigger = New-ScheduledTaskTrigger -Once -At 03:00AM
Register-ScheduledTask -TaskName $SchemaNamn -Action $TaskAction -Trigger $StartTrigger -User ”$env:USERDOMAIN\$env:USERNAME” -Password $tmpPassword
cls
$StartTrigger.RepetitionInterval = (New-TimeSpan -Minutes 5)
$StartTrigger.RepetitionDuration = (New-TimeSpan -Days 1)
Set-ScheduledTask $SchemaNamn -Trigger $StartTrigger -User ”$env:USERDOMAIN\$env:USERNAME” -Password $tmpPassword
Clear-Variable tmpPassword
cls
Write-Host ”kontrollera nu i schemaläggaren att jobbet $SchemaNamn finns där”
#############################
Som vanligt när det gäller script, tänk igenom vad du gör och att allt körs på egen risk. Jag har som mål att dessa ska fungera bra oavsett kunskapsnivå och operativ men man kan aldrig garantera detta.
Script:
Schemalägg ett jobb (Kräver Windows 8.1 eller senare)
AutoDownloader (Kräver Windows 7 eller senare)

Skribent:
Markus Jakobsson har i mer än 10 år delat med sig av erfarenhet inom smarta hem på bloggen. Han har testa det mesta och lärt sig massor på vägen, något han delat med dig här på bloggen.
Du kanske uppskattade och fick nytta av det här inlägget och vill hjälpa sidan Automatiserar.se?
Swisha gärna en slant till kaffe på 0705470065 om du vill stötta bloggen.
Då visar du oss att det du läste på Bloggen skapar värden och uppskattas.
Vi kan dessutom fortsätta driva sidan helt utan reklam.
Du kan även stötta bloggen genom att köpa någon av våra smarta hållare.
Alla bidrag vi får går till att täcka driftkostnaderna hos webbhotellet och köpa sensorer till bloggen.
Om bloggen:
Markus driver sidan helt på fritiden och ideellt. Därigenom är jag helt oberoende och kan ärligt skriva om allt bra och dåligt på tekniker vi testar på bloggen.
Vi hoppas att du som läsare hittat ett inlägg som hjälper dig att automatisera mera.
TIPS:
Vill gärna tipsa om ett inlägg där du hittar grupperad information om smarta hem: Automatiserar.se/smarta-hem/
Skulle du mot förmodan inte hittat det du sökte kommer du troligen hitta det här: Automatiserar.se/sok-om-hemautomation/
Vill du diskutera smarta hem så har vi en kanal på Facebook med +7000 medlemmar: Smartare hem & Hemautomation | Facebook
Sedan början av 2023 har vi skapat mer material på Youtube kanalen: Stötta oss gärna genom att kolla in filmerna där och följa kanalen
Stort tack för att du tog dig tid att läsa vårt inlägg.
Med vänliga hälsningar Markus Jakobsson
Allt går att automatisera!