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.

Resultatet av 3 kameror

 

 

 

Inne i mappen Garaget får man följande resultat efter att ha kört scriptet två ggr:

Bilder i mappen

 

 

 

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”

Schemalaggaren-Trigger

 

 

 

 

 

 

 

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)

Bildövervakning under en längre tid
Ge ett betyg på innehållet