MIREST.MIA.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>MIAHost</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIAHost</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Id</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Host</Label>
            <Width>24</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IsUsed</Label>
            <Width>10</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Host</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsUsed</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIATask</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIATask</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Id</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Scheduled</Label>
            <Width>12</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Scheduled</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIATaskRunning</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIATaskRunning</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Id</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Scheduled</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Start Time</Label>
            <Width>20</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>15</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>TaskID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TaskName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Scheduled</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>"{0,10:yyyy-MM-dd} {0,8:h:mm tt}" -f [DateTime]::Parse($_.TimeStarted)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIATaskSchedule</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIATaskSchedule</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Id</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>40</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Scheduled</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>DayOfWeek</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>DayOfMonth</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>StartTime</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>EndTime</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>EveryMinutes</Label>
            <Width>12</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Scheduled</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.DayOfWeek.substring(0,3) -join ','</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.DayOfMonth -join ','</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>"{0,8:h:mm tt}" -f [DateTime]::Parse($_.StartTime)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>"{0,8:h:mm tt}" -f [DateTime]::Parse($_.EndTime)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>EveryMinutes</PropertyName>
                <Alignment>Right</Alignment>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIAReportTaskRun</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIAReportTaskRun</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Start Time</Label>
            <Width>20</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Task Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Duration</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Files Sent</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Total Bytes Sent</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Message</Label>
            <Width>35</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>"{0,10:yyyy-MM-dd} {0,8:h:mm tt}" -f [DateTime]::Parse($_.StartTime)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TaskName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>"{0:m\:ss}" -f [TimeSpan]::FromSeconds($_.DurationSecond)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FilesSent</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  switch($_.TotalBytesSent)
                  {
                    { $_ -gt 1tb }
                            { "{0:n0} TB" -f ($_ / 1tb);break }
                    { $_ -gt 1gb }
                            { "{0:n0} GB" -f ($_ / 1gb);break }
                    { $_ -gt 1mb }
                            { "{0:n0} MB" -f ($_ / 1mb);break }
                    { $_ -gt 1kb }
                            { "{0:n0} KB" -f ($_ / 1Kb);break }
                    { $_ -gt 1 }
                            { "{0} B" -f $_}
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>StatusMsg</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIAReportFileActivity</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIAReportFileActivity</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Log Time</Label>
            <Width>20</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Task Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Src. File Name</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Action</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Width>12</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>"{0,10:yyyy-MM-dd} {0,8:h:mm tt}" -f [DateTime]::Parse($_.LogStamp)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TaskName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>SourceFile</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Action</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if($_.StatusCode -eq 0) {
                    "Success"
                  }
                  else {
                    "$($_.StatusMsg)"
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  switch($_.DestBytes)
                  {
                    { $_ -gt 1tb }
                            { "{0:n0} TB" -f ($_ / 1tb);break }
                    { $_ -gt 1gb }
                            { "{0:n0} GB" -f ($_ / 1gb);break }
                    { $_ -gt 1mb }
                            { "{0:n0} MB" -f ($_ / 1mb);break }
                    { $_ -gt 1kb }
                            { "{0:n0} KB" -f ($_ / 1Kb);break }
                    { $_ -gt 1 }
                            { "{0} B" -f $_}
                  }
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MIAReportAudit</Name>
      <ViewSelectedBy>
        <TypeName>MIREST.MIAReportAudit</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
        <TableColumnHeader>
            <Label>Log Time</Label>
            <Width>20</Width>
            <Alignment>Right</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Action</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Target Type</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Target Name</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Username</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IPAddress</Label>
            <Width>14</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>"{0,10:yyyy-MM-dd} {0,8:h:mm tt}" -f [DateTime]::Parse($_.LogTime)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Action</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TargetType</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TargetName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if($_.StatusCode -eq 0) {
                    "Success"
                  }
                  else {
                    "$($_.StatusMsg)"
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Username</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IPAddress</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>