PSSubnetScan.Format.ps1xml

<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>PSSubnetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubnetScan.TargetResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>IPAddress</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Ports</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ICMP</Label>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>RevDNS</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>WMI</Label>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>WSMan</Label>
            <Width>5</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>IPAddress</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  ($_.Ports | Where-Object IsActive | Select-Object @{l="Port";e={"$($_.Port).$($_.ProtocolType)"}} | Select-Object -ExpandProperty Port) -join ", "
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.ICMP.IsActive
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.RevDNS.HostName
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.WMI.IsActive
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.WSMan.IsActive
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>PSSubnetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubnetScan.SSLPortStatus</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Active</Label>
            <Width>6</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SSLCertificateThumbprint</Label>
            <Width>40</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SSLCertificateSubject</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SSLProtocols</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Port</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsActive</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.SSLStatus.Certificate.Thumbprint
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.SSLStatus.Certificate.Subject
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  ($_.SSLStatus.Protocols | Select-Object -ExpandProperty Protocol) -join ", "
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>PSSubNetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubNetScan.ICMPStatus</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Active</Label>
            <Width>6</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Address</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>RoundtripTime</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>IsActive</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.ICMP.Status
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.ICMP.Address
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.ICMP.RoundtripTime
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>PSSubNetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubNetScan.WSMan</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Active</Label>
            <Width>6</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>RemotePSVersion</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>WSManUriAuth</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>IsActive</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.WSManResult.PSVersion.ToString()
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  ($_.WSManUri | Select-Object AuthenticationMechanism -Unique | Sort-Object AuthenticationMechanism | Select-Object -ExpandProperty AuthenticationMechanism) -join ", "
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>PSSubNetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubNetScan.IPSubnet</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>IPAddress</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Bits</Label>
            <Width>4</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>NetMask</Label>
            <Width>15</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>NetworkAddress</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>BroadcastAddress</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>IPAddress</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>BitMask</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>NetMask</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>NetworkAddress</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>BroadcastAddress</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>PSSubNetScan</Name>
      <ViewSelectedBy>
        <TypeName>PSSubNetScan.IPAddressList</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>IPAddress</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                  $_.IPList | Select-Object -ExpandProperty IPAddressToString
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>