PSCerts.format.ps1xml
<?xml version="1.0" encoding="utf-8" ?>
<Configuration> <Controls> <Control> <Name>CertSummaryItem-Header</Name> <CustomControl> <CustomEntries> <CustomEntry> <CustomItem> <Frame> <LeftIndent>0</LeftIndent> <CustomItem> <ExpressionBinding> <ScriptBlock> "$($PSStyle.Formatting.TableHeader)$($PSStyle.Reverse)$($PSStyle.Bold)Store Location: $($_.Location) $($PSStyle.ReverseOff)$($PSStyle.Reset)" </ScriptBlock> </ExpressionBinding> <NewLine/> </CustomItem> </Frame> </CustomItem> </CustomEntry> </CustomEntries> </CustomControl> </Control> </Controls> <ViewDefinitions> <View> <Name>CertAccessRule</Name> <ViewSelectedBy> <TypeName>PSCerts.CertAccessRule</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>AccessType</Label> <Alignment>Center</Alignment> </TableColumnHeader> <TableColumnHeader> <Label>Rights</Label> <Alignment>Left</Alignment> </TableColumnHeader> <TableColumnHeader> <Label>Identity</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <Wrap/> <TableColumnItems> <TableColumnItem> <ScriptBlock> if ($_.IsAllow) { "$($PSStyle.Foreground.Green)$($_.AccessType)" } else { "$($PSStyle.Foreground.Red)$($_.AccessType)" } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.IsAllow) { $color = $PSStyle.Foreground.Green } else { $color = $PSStyle.Foreground.Red } "$color$($_.FileSystemRights.ToString("F").Replace(", ", "`n"))$($PSStyle.Reset)" </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>Identity</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>CertSummaryItem</Name> <ViewSelectedBy> <TypeName>PSCerts.Summary.CertSummaryItem</TypeName> </ViewSelectedBy> <GroupBy> <PropertyName>Location</PropertyName> <CustomControlName>CertSummaryItem-Header</CustomControlName> </GroupBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Store</Label> </TableColumnHeader> <TableColumnHeader> <Label>Thumbprint</Label> <Width>41</Width> </TableColumnHeader> <TableColumnHeader> <Label>Key</Label> <Alignment>Center</Alignment> </TableColumnHeader> <TableColumnHeader> <Label>Permissions</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <Wrap/> <TableColumnItems> <TableColumnItem> <ScriptBlock>"$($PSStyle.Foreground.BrightCyan)$($_.Location)$($PSStyle.Reset)\$($PSStyle.Foreground.BrightBlue)$($_.Store)$($PSStyle.Reset)"</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> $output = "$($PSStyle.Foreground.BrightWhite)" if ($_.DisplayName.Length -gt 41) { $output += "$($_.DisplayName.Substring(0, 38))$($PSStyle.Foreground.BrightBlack)..." } else { $output += "$($_.DisplayName)" } $output += "`n$($PSStyle.Foreground.White)$($_.Thumbprint)$($PSStyle.Reset)" $output </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.HasPrivateKey) { "$($PSStyle.Foreground.Green)Y$($PSStyle.Reset)" } else { " " } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> $output = @() $maxLength = $_.Permissions ` | select @{N='Length';E={$_.FileSystemRightsString.Length}} ` | sort -Property Length -Descending ` | select -First 1 -ExpandProperty Length foreach ($perm in $_.Permissions) { if ($perm.IsAllow) { $access = "$($PSStyle.Bold)$($PSStyle.Foreground.BrightGreen)+$($PSStyle.BoldOff) " } else { $access = "$($PSStyle.Bold)$($PSStyle.Foreground.BrightRed)-$($PSStyle.BoldOff) " } $output += "$access$($perm.FileSystemRightsString.PadRight($maxLength)) $($PSStyle.Reset) $($perm.IdentityDisplayString)" } [string]::Join("`n", $output) </ScriptBlock> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> </ViewDefinitions> </Configuration> |