From f9e5f8cdad588e492c4d8b2a2f29b7ecac3fcc70 Mon Sep 17 00:00:00 2001 From: Frank Weggelaar Date: Wed, 14 Aug 2024 09:57:41 +0200 Subject: [PATCH] HUDU exporter --- VMSExportToHUDU.ps1 | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 VMSExportToHUDU.ps1 diff --git a/VMSExportToHUDU.ps1 b/VMSExportToHUDU.ps1 new file mode 100644 index 0000000..40d87fa --- /dev/null +++ b/VMSExportToHUDU.ps1 @@ -0,0 +1,70 @@ +# Get Hardware from VMS +$hardwarelist = Get-VmsCameraReport -IncludeRetentionInfo + +# Create Empty table object with the right headers needed for CSV Data Import +$table = New-Object System.Data.DataTable +[void]$table.Columns.Add("company_name") +[void]$table.Columns.Add("name") +[void]$table.Columns.Add("Stream 1 - Frames per second (FPS)") +[void]$table.Columns.Add("Stream 1 - Bitrate") +[void]$table.Columns.Add("Privacy mask") +[void]$table.Columns.Add("Eigendom klant") +[void]$table.Columns.Add("Serienummer") +[void]$table.Columns.Add("MAC-adres") +[void]$table.Columns.Add("Afbeelding") +[void]$table.Columns.Add("Day-Image") +[void]$table.Columns.Add("Night Image") +[void]$table.Columns.Add("Day / Night Mode") +[void]$table.Columns.Add("Wide Dynamic Range (WDR)") +[void]$table.Columns.Add("Privacy Mask omschrijving") +[void]$table.Columns.Add("Opmerkingen") +[void]$table.Columns.Add("IP-adres") +[void]$table.Columns.Add("Model") +[void]$table.Columns.Add("Installatiedatum") +[void]$table.Columns.Add("Locatie") +[void]$table.Columns.Add("Montage") +[void]$table.Columns.Add("Exposure Time / Shutter Speed") + +# Loop through the Cameralist +foreach ($camera in $hardwarelist) { + # Match HardwareID and fetch camera settings + try { + $setting = Get-VmsHardware -Id $camera.HardwareId | Get-HardwareSetting + } catch { + Write-Host "Failed to fetch data for Camera ID:" $camera.HardwareId + } + + # Add data rows to table + [void]$table.Rows.Add( + $camera.RecorderName, + $camera.HardwareName, + $camera.CurrentRecordedFPS, + $camera.CurrentRecordedBitrate, + [int][bool]::Parse($camera.PrivacyMaskEnabled), + "", + $setting.SerialNumber, + $camera.MAC, + "", + "", + "", + "", + "", + "", + "", + $camera.Address.TrimStart('http://').TrimEnd('/'), + $camera.Model, + "", + "", + "", + "") + } + +# Output table +try { + $table | Export-Csv -Path .\export.csv -NoTypeInformation + Write-Host "Export created" + Disconnect-Vms +} catch { + Write-Host "Failed writing file." + Disconnect-Vms +} \ No newline at end of file