MilestonePSTools.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <ViewDefinitions>
        <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>[VideoOS.Platform.ConfigurationItems.Storage]::new((Get-ManagementServer).ServerId, $_.ParentItemPath).Name</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>