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 är teknikintresserad och gillar att dela med sig av smarta lösningar. Med mer än +10 års erfarenhet inom smarta hem så har han hunnit lära sig det mesta! Men fullärd blir man aldrig 😉
På bloggen Automatiserar.se tipsar vi hur du själv kommer igång och automatiserar ditt hem.
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
Du kanske uppskattade och fick nytta av det här inlägget och vill hjälpa sidan Automatiserar.se?
Swisha en slant på 0705470065 för att stötta bloggen, 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 för bloggen, samt att köpa den teknik vi kan skriver om på bloggen. Vi kör sidan helt på fritiden, därigenom helt oberoende och gör detta för att det är roligt. Vi hoppas att du som läsare hittat ett inlägg som hjälper dig att automatisera mera.
Gillade du bloggen så dela den gärna med vänner, och var det något du inte tyckte var allt för bra så hör av dig så vi får veta! 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!