TerminalSessions.Format.ps1xml
|
<?xml version="1.0" encoding="utf-16"?>
<Configuration> <ViewDefinitions> <View> <Name>TerminalSessions.SessionInfoExtra</Name> <ViewSelectedBy> <TypeName>TerminalSessions.SessionInfoExtra</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>ComputerName</Label> </TableColumnHeader> <TableColumnHeader> <Label>SessionId</Label> </TableColumnHeader> <TableColumnHeader> <Label>SessionName</Label> </TableColumnHeader> <TableColumnHeader> <Label>State</Label> </TableColumnHeader> <!-- <TableColumnHeader> <Label>DomainName</Label> </TableColumnHeader> <TableColumnHeader> <Label>UserName</Label> </TableColumnHeader> --> <TableColumnHeader> <Label>User</Label> </TableColumnHeader> <TableColumnHeader> <Label>ClientName</Label> </TableColumnHeader> <TableColumnHeader> <Label>IdleTime</Label> </TableColumnHeader> <TableColumnHeader> <Label>LogonTime</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>ComputerName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>SessionId</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>SessionName</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($PSStyle) { $state = @{ Disconnected = $PSStyle.Foreground.BrightBlack Connected = $PSStyle.Foreground.BrightGreen Reset = $PSStyle.Reset } } else { $state = @{ Disconnected = "$([char]27)[90m" Connected = "$([char]27)[92m" Reset = "$([char]27)[0m" } } if ($_.State -eq 'Disconnected') { '{0}{1}{2}' -f $state.Disconnected, $_.State.ToString(), $state.Reset } elseif ($_.State -eq 'Connected' -or $_.State -eq 'Active') { '{0}{1}{2}' -f $state.Connected, $_.State.ToString(), $state.Reset } else { $_.State } </ScriptBlock> </TableColumnItem> <!-- <TableColumnItem> <PropertyName>DomainName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>UserName</PropertyName> </TableColumnItem> --> <TableColumnItem> <ScriptBlock> if ($_.DomainName) { return ('{0}\{1}' -f $_.DomainName, $_.UserName) } $_.UserName </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ClientName</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.IdleTime) { $TimeSpan = $_.IdleTime if ($PSStyle) { $colorMap = @{ days = $PSStyle.Formatting.Error hours = $PSStyle.Formatting.Warning minutes = $PSStyle.Formatting.FeedbackText active = $PSStyle.Foreground.Green Reset = $PSStyle.Reset } } else { $colorMap = @{ days = "$([char]27)[31;1m" hours = "$([char]27)[33;1m" minutes = "$([char]27)[96m" active = "$([char]27)[32m" Reset = "$([char]27)[0m" } } if ($TimeSpan.TotalDays -ge 1) { '{0}{1:0}d{2:0}h{3}' -f $colorMap.days, $TimeSpan.TotalDays, $TimeSpan.Hours, $colorMap.Reset } elseif ($TimeSpan.TotalHours -ge 1) { '{0}{1:0}h{2:0}m{3}' -f $colorMap.hours, $TimeSpan.TotalHours, $TimeSpan.Minutes, $colorMap.Reset } elseif ($TimeSpan.TotalMinutes -ge 1) { '{0}{1:0}m{2:0}s{3}' -f $colorMap.minutes, $TimeSpan.TotalMinutes, $TimeSpan.Seconds, $colorMap.Reset } else { '{0}{1:0}s{2}' -f $colorMap.active, $TimeSpan.TotalSeconds.ToString('0.0'), $colorMap.Reset } } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.LogonTime) { $_.LogonTime.ToString() } </ScriptBlock> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>TerminalSessions.SessionInfo</Name> <ViewSelectedBy> <TypeName>TerminalSessions.SessionInfo</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>ComputerName</Label> </TableColumnHeader> <TableColumnHeader> <Label>SessionId</Label> </TableColumnHeader> <TableColumnHeader> <Label>SessionName</Label> </TableColumnHeader> <TableColumnHeader> <Label>State</Label> </TableColumnHeader> <!-- <TableColumnHeader> <Label>DomainName</Label> </TableColumnHeader> <TableColumnHeader> <Label>UserName</Label> </TableColumnHeader> --> <TableColumnHeader> <Label>User</Label> </TableColumnHeader> <TableColumnHeader> <Label>ClientName</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>ComputerName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>SessionId</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>SessionName</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($PSStyle) { $state = @{ Disconnected = $PSStyle.Foreground.BrightBlack Connected = $PSStyle.Foreground.BrightGreen Reset = $PSStyle.Reset } } else { $state = @{ Disconnected = "$([char]27)[90m" Connected = "$([char]27)[92m" Reset = "$([char]27)[0m" } } if ($_.State -eq 'Disconnected') { '{0}{1}{2}' -f $state.Disconnected, $_.State.ToString(), $state.Reset } elseif ($_.State -eq 'Connected' -or $_.State -eq 'Active') { '{0}{1}{2}' -f $state.Connected, $_.State.ToString(), $state.Reset } else { $_.State } </ScriptBlock> </TableColumnItem> <!-- <TableColumnItem> <PropertyName>DomainName</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>UserName</PropertyName> </TableColumnItem> --> <TableColumnItem> <ScriptBlock> if ($_.DomainName) { return ('{0}\{1}' -f $_.DomainName, $_.UserName) } $_.UserName </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ClientName</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>TerminalSessions.WTSInfo</Name> <ViewSelectedBy> <TypeName>TerminalSessions.WTSInfo</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>SessionId</Label> </TableColumnHeader> <TableColumnHeader> <Label>State</Label> </TableColumnHeader> <TableColumnHeader> <Label>WinStationName</Label> </TableColumnHeader> <!-- <TableColumnHeader> <Label>Domain</Label> </TableColumnHeader> <TableColumnHeader> <Label>UserName</Label> </TableColumnHeader> --> <TableColumnHeader> <Label>User</Label> </TableColumnHeader> <TableColumnHeader> <Label>ConnectTime</Label> </TableColumnHeader> <TableColumnHeader> <Label>DisconnectTime</Label> </TableColumnHeader> <TableColumnHeader> <Label>LastInputTime</Label> </TableColumnHeader> <TableColumnHeader> <Label>LogonTime</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>SessionId</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($PSStyle) { $state = @{ Disconnected = $PSStyle.Foreground.BrightBlack Connected = $PSStyle.Foreground.BrightGreen Reset = $PSStyle.Reset } } else { $state = @{ Disconnected = "$([char]27)[90m" Connected = "$([char]27)[92m" Reset = "$([char]27)[0m" } } if ($_.State -eq 'Disconnected') { '{0}{1}{2}' -f $state.Disconnected, $_.State.ToString(), $state.Reset } elseif ($_.State -eq 'Connected' -or $_.State -eq 'Active') { '{0}{1}{2}' -f $state.Connected, $_.State.ToString(), $state.Reset } else { $_.State } </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>WinStationName</PropertyName> </TableColumnItem> <!-- <TableColumnItem> <PropertyName>Domain</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>UserName</PropertyName> </TableColumnItem> --> <TableColumnItem> <ScriptBlock> if ($_.Domain) { return ('{0}\{1}' -f $_.Domain, $_.UserName) } $_.UserName </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.ConnectTime) { $_.ConnectTime.ToString() } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.DisconnectTime) { $_.DisconnectTime.ToString() } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.LastInputTime) { $_.LastInputTime.ToString() } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.LogonTime) { $_.LogonTime.ToString() } </ScriptBlock> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>TerminalSessions.ClientInfo</Name> <ViewSelectedBy> <TypeName>TerminalSessions.ClientInfo</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>ClientName</Label> </TableColumnHeader> <!-- <TableColumnHeader> <Label>Domain</Label> </TableColumnHeader> <TableColumnHeader> <Label>UserName</Label> </TableColumnHeader> --> <TableColumnHeader> <Label>User</Label> </TableColumnHeader> <TableColumnHeader> <Label>EncryptionLevel</Label> </TableColumnHeader> <TableColumnHeader> <Label>ClientAddress</Label> </TableColumnHeader> <TableColumnHeader> <Label>HRes</Label> </TableColumnHeader> <TableColumnHeader> <Label>VRes</Label> </TableColumnHeader> <TableColumnHeader> <Label>ColorDepth</Label> </TableColumnHeader> <TableColumnHeader> <Label>InitialProgram</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>ClientName</PropertyName> </TableColumnItem> <!-- <TableColumnItem> <PropertyName>Domain</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>UserName</PropertyName> </TableColumnItem> --> <TableColumnItem> <ScriptBlock> if ($_.Domain) { return ('{0}\{1}' -f $_.Domain, $_.UserName) } $_.UserName </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>EncryptionLevel</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>ClientAddress</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>HRes</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>VRes</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>ColorDepth</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>InitialProgram</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> </ViewDefinitions> </Configuration> |