MilestonePSTools.Format.ps1xml
<?xml version="1.0" encoding="utf-8"?>
<Configuration> <ViewDefinitions> <View> <Name>VideoOS.Platform.ConfigurationItems.ManagementServer</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.ManagementServer</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>8</Width> </TableColumnHeader> <TableColumnHeader> <Width>15</Width> </TableColumnHeader> <TableColumnHeader> <Width>8</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Version</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>ComputerName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>TimeZone</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.RecordingServer</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.RecordingServer</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>15</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>8</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>HostName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>WebServerUri</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>TimeZoneName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Hardware</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Hardware</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader /> <TableColumnHeader /> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Address</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Model</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Camera</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Camera</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Microphone</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Microphone</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Speaker</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Speaker</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.InputEvent</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.InputEvent</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Output</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Output</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Metadata</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Metadata</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Latitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Longitude</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader /> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Channel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Enabled</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Latitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> function ConvertTo-Coordinates { param([string]$GisPoint) if ($GisPoint -ne 'POINT EMPTY') { $long, $lat, $null = $GisPoint.Substring(6).Trim('(', ')').Split(' ') | Foreach-Object { [double]$_} [pscustomobject]@{Latitude = $lat; Longitude = $long} } } (ConvertTo-Coordinates -GisPoint $_.GisPoint).Longitude.ToString('#.####') </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>LastModified</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</Name> <ViewSelectedBy> <TypeName>VideoOS.ConfigurationApi.ClientService.ConfigurationItem</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Label>Enabled</Label> </TableColumnHeader> <TableColumnHeader> <Width>25</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>DisplayName</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.EnableProperty.Enabled</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ItemType</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>ItemCategory</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Path</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.Storage</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.Storage</TypeName> </ViewSelectedBy> <GroupBy> <Label>Recording Server</Label> <ScriptBlock>[VideoOS.Platform.ConfigurationItems.RecordingServer]::new((Get-ManagementServer).ServerId, $_.ParentItemPath).Name</ScriptBlock> </GroupBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader /> <TableColumnHeader> <Label>LiveRetention</Label> </TableColumnHeader> <TableColumnHeader> <Label>LiveSize(GB)</Label> <Width>10</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>Encryption</Label> <Width>6</Width> </TableColumnHeader> <TableColumnHeader> <Label>Archives</Label> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Label>TotalRetention</Label> </TableColumnHeader> <TableColumnHeader> <Label>TotalSize(GB)</Label> <Width>10</Width> </TableColumnHeader> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>DiskPath</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>New-Timespan -Minutes $_.RetainMinutes</ScriptBlock> <FormatString>g</FormatString> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.MaxSize / 1KB</ScriptBlock> <FormatString>{0:.##}</FormatString> </TableColumnItem> <TableColumnItem> <PropertyName>IsDefault</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Signing</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>EncryptionMethod</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.ArchiveStorageFolder.ArchiveStorages.Count</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.ArchiveStorageFolder.ArchiveStorages.Count -eq 0) { New-TimeSpan -Minutes $_.RetainMinutes } else { New-TimeSpan -Minutes ($_.ArchiveStorageFolder.ArchiveStorages | Sort-Object RetainMinutes -Descending | Select-Object -First 1 -ExpandProperty RetainMinutes) } </ScriptBlock> <FormatString>g</FormatString> </TableColumnItem> <TableColumnItem> <ScriptBlock>($_.MaxSize + ($_.ArchiveStorageFolder.ArchiveStorages.MaxSize | Measure-Object -Sum).Sum) / 1KB</ScriptBlock> <FormatString>{0:.##}</FormatString> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>VideoOS.Platform.ConfigurationItems.ArchiveStorage</Name> <ViewSelectedBy> <TypeName>VideoOS.Platform.ConfigurationItems.ArchiveStorage</TypeName> </ViewSelectedBy> <GroupBy> <Label>Storage</Label> <ScriptBlock> $storage = [VideoOS.Platform.ConfigurationItems.Storage]::new((Get-ManagementServer).ServerId, $_.ParentItemPath) $storageName = $storage.Name $recorderName = [VideoOS.Platform.ConfigurationItems.RecordingServer]::new((Get-ManagementServer).ServerId, $storage.ParentItemPath).Name "$storageName on $recorderName"</ScriptBlock> </GroupBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader /> <TableColumnHeader> <Label>Retention</Label> </TableColumnHeader> <TableColumnHeader> <Label>MaxSize(GB)</Label> <Width>10</Width> </TableColumnHeader> <TableColumnHeader> <Label>ReducesFramerate</Label> <Width>5</Width> </TableColumnHeader> <TableColumnHeader> <Label>TargetFramerate</Label> <Width>3</Width> </TableColumnHeader> <TableColumnHeader> <Width>36</Width> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>DiskPath</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>New-Timespan -Minutes $_.RetainMinutes</ScriptBlock> <FormatString>g</FormatString> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.MaxSize / 1KB</ScriptBlock> <FormatString>{0:.##}</FormatString> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.FramerateReductionEnabled</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>if ($_.FramerateReductionEnabled) { $_.TargetFramerate } else { '' }</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>Id</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> </ViewDefinitions> </Configuration> |