1442 lines
69 KiB
C#
1442 lines
69 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
using System.Collections.Generic;
|
|
|
|
namespace System.Management.Automation.Runspaces
|
|
{
|
|
internal sealed class PowerShellCore_Format_Ps1Xml
|
|
{
|
|
internal static IEnumerable<ExtendedTypeDefinition> GetFormatData()
|
|
{
|
|
var AvailableModules_GroupingFormat = CustomControl.Create()
|
|
.StartEntry()
|
|
.StartFrame()
|
|
.AddText(FileSystemProviderStrings.DirectoryDisplayGrouping)
|
|
.AddScriptBlockExpressionBinding(@"Split-Path -Parent $_.Path | ForEach-Object { if([Version]::TryParse((Split-Path $_ -Leaf), [ref]$null)) { Split-Path -Parent $_} else {$_} } | Split-Path -Parent")
|
|
.EndFrame()
|
|
.EndEntry()
|
|
.EndControl();
|
|
|
|
var ByteCollection_GroupHeader = CustomControl.Create()
|
|
.StartEntry()
|
|
.StartFrame()
|
|
.AddScriptBlockExpressionBinding(@"
|
|
$header = "" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F""
|
|
if($_.Path) { $header = "" "" + [Microsoft.PowerShell.Commands.UtilityResources]::FormatHexPathPrefix + $_.Path + ""`r`n`r`n"" + $header }
|
|
|
|
$header
|
|
")
|
|
.EndFrame()
|
|
.EndEntry()
|
|
.EndControl();
|
|
|
|
var sharedControls = new CustomControl[] {
|
|
AvailableModules_GroupingFormat,
|
|
ByteCollection_GroupHeader
|
|
};
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.RuntimeType",
|
|
ViewsOf_System_RuntimeType());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.MemberDefinition",
|
|
ViewsOf_Microsoft_PowerShell_Commands_MemberDefinition());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.GroupInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_GroupInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.GroupInfoNoElement",
|
|
ViewsOf_Microsoft_PowerShell_Commands_GroupInfoNoElement());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.HistoryInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_HistoryInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.MatchInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_MatchInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.PSVariable",
|
|
ViewsOf_System_Management_Automation_PSVariable());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.PathInfo",
|
|
ViewsOf_System_Management_Automation_PathInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.CommandInfo",
|
|
ViewsOf_System_Management_Automation_CommandInfo());
|
|
|
|
var td10 = new ExtendedTypeDefinition(
|
|
"System.Management.Automation.AliasInfo",
|
|
ViewsOf_System_Management_Automation_AliasInfo_System_Management_Automation_ApplicationInfo_System_Management_Automation_CmdletInfo_System_Management_Automation_ExternalScriptInfo_System_Management_Automation_FilterInfo_System_Management_Automation_FunctionInfo_System_Management_Automation_ScriptInfo());
|
|
td10.TypeNames.Add("System.Management.Automation.ApplicationInfo");
|
|
td10.TypeNames.Add("System.Management.Automation.CmdletInfo");
|
|
td10.TypeNames.Add("System.Management.Automation.ExternalScriptInfo");
|
|
td10.TypeNames.Add("System.Management.Automation.FilterInfo");
|
|
td10.TypeNames.Add("System.Management.Automation.FunctionInfo");
|
|
td10.TypeNames.Add("System.Management.Automation.ScriptInfo");
|
|
yield return td10;
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.Runspaces.TypeData",
|
|
ViewsOf_System_Management_Automation_Runspaces_TypeData());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.ControlPanelItem",
|
|
ViewsOf_Microsoft_PowerShell_Commands_ControlPanelItem());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ApplicationInfo",
|
|
ViewsOf_System_Management_Automation_ApplicationInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ScriptInfo",
|
|
ViewsOf_System_Management_Automation_ScriptInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ExternalScriptInfo",
|
|
ViewsOf_System_Management_Automation_ExternalScriptInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.FunctionInfo",
|
|
ViewsOf_System_Management_Automation_FunctionInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.FilterInfo",
|
|
ViewsOf_System_Management_Automation_FilterInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.AliasInfo",
|
|
ViewsOf_System_Management_Automation_AliasInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.ListCommand+MemberInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_ListCommand_MemberInfo());
|
|
|
|
var td20 = new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.ActiveDirectoryProvider+ADPSDriveInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_ActiveDirectoryProvider_ADPSDriveInfo_System_Management_Automation_PSDriveInfo());
|
|
td20.TypeNames.Add("System.Management.Automation.PSDriveInfo");
|
|
yield return td20;
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ProviderInfo",
|
|
ViewsOf_System_Management_Automation_ProviderInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.CmdletInfo",
|
|
ViewsOf_System_Management_Automation_CmdletInfo());
|
|
|
|
var td23 = new ExtendedTypeDefinition(
|
|
"System.Management.Automation.FilterInfo",
|
|
ViewsOf_System_Management_Automation_FilterInfo_System_Management_Automation_FunctionInfo());
|
|
td23.TypeNames.Add("System.Management.Automation.FunctionInfo");
|
|
yield return td23;
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.PSDriveInfo",
|
|
ViewsOf_System_Management_Automation_PSDriveInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ShellVariable",
|
|
ViewsOf_System_Management_Automation_ShellVariable());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ScriptBlock",
|
|
ViewsOf_System_Management_Automation_ScriptBlock());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ErrorRecord",
|
|
ViewsOf_System_Management_Automation_ErrorRecord());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.WarningRecord",
|
|
ViewsOf_System_Management_Automation_WarningRecord());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Deserialized.System.Management.Automation.WarningRecord",
|
|
ViewsOf_Deserialized_System_Management_Automation_WarningRecord());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.InformationRecord",
|
|
ViewsOf_System_Management_Automation_InformationRecord());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.ByteCollection",
|
|
ViewsOf_Microsoft_PowerShell_Commands_ByteCollection(sharedControls));
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Exception",
|
|
ViewsOf_System_Exception());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.CommandParameterSetInfo",
|
|
ViewsOf_System_Management_Automation_CommandParameterSetInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.Runspaces.Runspace",
|
|
ViewsOf_System_Management_Automation_Runspaces_Runspace());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.Runspaces.PSSession",
|
|
ViewsOf_System_Management_Automation_Runspaces_PSSession());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.Job",
|
|
ViewsOf_System_Management_Automation_Job());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Deserialized.Microsoft.PowerShell.Commands.TextMeasureInfo",
|
|
ViewsOf_Deserialized_Microsoft_PowerShell_Commands_TextMeasureInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Deserialized.Microsoft.PowerShell.Commands.GenericMeasureInfo",
|
|
ViewsOf_Deserialized_Microsoft_PowerShell_Commands_GenericMeasureInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.CallStackFrame",
|
|
ViewsOf_System_Management_Automation_CallStackFrame());
|
|
|
|
var td40 = new ExtendedTypeDefinition(
|
|
"System.Management.Automation.CommandBreakpoint",
|
|
ViewsOf_BreakpointTypes());
|
|
td40.TypeNames.Add("System.Management.Automation.LineBreakpoint");
|
|
td40.TypeNames.Add("System.Management.Automation.VariableBreakpoint");
|
|
yield return td40;
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration",
|
|
ViewsOf_Microsoft_PowerShell_Commands_PSSessionConfigurationCommands_PSSessionConfiguration());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.ComputerChangeInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_ComputerChangeInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.RenameComputerChangeInfo",
|
|
ViewsOf_Microsoft_PowerShell_Commands_RenameComputerChangeInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"ModuleInfoGrouping",
|
|
ViewsOf_ModuleInfoGrouping(sharedControls));
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.PSModuleInfo",
|
|
ViewsOf_System_Management_Automation_PSModuleInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"System.Management.Automation.ExperimentalFeature",
|
|
ViewsOf_System_Management_Automation_ExperimentalFeature());
|
|
|
|
var td46 = new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.BasicHtmlWebResponseObject",
|
|
ViewsOf_Microsoft_PowerShell_Commands_BasicHtmlWebResponseObject());
|
|
yield return td46;
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.WebResponseObject",
|
|
ViewsOf_Microsoft_PowerShell_Commands_WebResponseObject());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.FileHashInfo",
|
|
ViewsOf_Microsoft_Powershell_Utility_FileHashInfo());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.Commands.PSRunspaceDebug",
|
|
ViewsOf_Microsoft_PowerShell_Commands_PSRunspaceDebug());
|
|
|
|
yield return new ExtendedTypeDefinition(
|
|
"Microsoft.PowerShell.MarkdownRender.PSMarkdownOptionInfo",
|
|
ViewsOf_Microsoft_PowerShell_MarkdownRender_MarkdownOptionInfo());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_RuntimeType()
|
|
{
|
|
yield return new FormatViewDefinition("System.RuntimeType",
|
|
TableControl.Create()
|
|
.AddHeader(label: "IsPublic", width: 8)
|
|
.AddHeader(label: "IsSerial", width: 8)
|
|
.AddHeader(width: 40)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("IsPublic")
|
|
.AddPropertyColumn("IsSerializable")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("BaseType")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_MemberDefinition()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.MemberDefinition",
|
|
TableControl.Create(autoSize: true)
|
|
.GroupByProperty("TypeName")
|
|
.AddHeader(label: "Name")
|
|
.AddHeader(label: "MemberType")
|
|
.AddHeader(label: "Definition")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("MemberType")
|
|
.AddPropertyColumn("Definition")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_GroupInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.GroupInfo",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "Count", width: 5)
|
|
.AddHeader(width: 25)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Count")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Group")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.GroupInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Count")
|
|
.AddItemProperty(@"Group")
|
|
.AddItemProperty(@"Values")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_GroupInfoNoElement()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.GroupInfoNoElement",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "Count", width: 5)
|
|
.AddHeader(width: 25)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Count")
|
|
.AddPropertyColumn("Name")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.GroupInfoNoElement",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Count")
|
|
.AddItemProperty(@"Values")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_HistoryInfo()
|
|
{
|
|
yield return new FormatViewDefinition("history",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, width: 4)
|
|
.AddHeader(Alignment.Right, label: "Duration", width: 12)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Id")
|
|
.AddScriptBlockColumn(@"
|
|
if ($_.Duration.TotalHours -ge 10) {
|
|
return ""{0}:{1:mm}:{1:ss}.{1:fff}"" -f [int]$_.Duration.TotalHours, $_.Duration
|
|
}
|
|
elseif ($_.Duration.TotalHours -ge 1) {
|
|
$formatString = ""h\:mm\:ss\.fff""
|
|
}
|
|
elseif ($_.Duration.TotalMinutes -ge 1) {
|
|
$formatString = ""m\:ss\.fff""
|
|
}
|
|
else {
|
|
$formatString = ""s\.fff""
|
|
}
|
|
|
|
$_.Duration.ToString($formatString)
|
|
")
|
|
.AddPropertyColumn("CommandLine")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("history",
|
|
WideControl.Create()
|
|
.AddPropertyEntry("CommandLine")
|
|
.EndWideControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_MatchInfo()
|
|
{
|
|
yield return new FormatViewDefinition("MatchInfo",
|
|
CustomControl.Create()
|
|
.StartEntry()
|
|
.AddScriptBlockExpressionBinding(@"$_.ToString(((get-location).path))")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_PSVariable()
|
|
{
|
|
yield return new FormatViewDefinition("Variable",
|
|
TableControl.Create()
|
|
.AddHeader(width: 30)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Value")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_PathInfo()
|
|
{
|
|
yield return new FormatViewDefinition("PathInfo",
|
|
TableControl.Create()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Path")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_CommandInfo()
|
|
{
|
|
yield return new FormatViewDefinition("CommandInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_AliasInfo_System_Management_Automation_ApplicationInfo_System_Management_Automation_CmdletInfo_System_Management_Automation_ExternalScriptInfo_System_Management_Automation_FilterInfo_System_Management_Automation_FunctionInfo_System_Management_Automation_ScriptInfo()
|
|
{
|
|
yield return new FormatViewDefinition("CommandInfo",
|
|
TableControl.Create()
|
|
.AddHeader(label: "CommandType", width: 15)
|
|
.AddHeader(label: "Name", width: 50)
|
|
.AddHeader(label: "Version", width: 10)
|
|
.AddHeader(label: "Source")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddScriptBlockColumn(@"
|
|
if ($_.CommandType -eq ""Alias"")
|
|
{
|
|
$_.DisplayName
|
|
}
|
|
else
|
|
{
|
|
$_.Name
|
|
}
|
|
")
|
|
.AddPropertyColumn("Version")
|
|
.AddPropertyColumn("Source")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_Runspaces_TypeData()
|
|
{
|
|
yield return new FormatViewDefinition("TypeData",
|
|
TableControl.Create()
|
|
.AddHeader(label: "TypeName")
|
|
.AddHeader(label: "Members")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("TypeName")
|
|
.AddPropertyColumn("Members")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_ControlPanelItem()
|
|
{
|
|
yield return new FormatViewDefinition("ControlPanelItem",
|
|
TableControl.Create()
|
|
.AddHeader(label: "Name")
|
|
.AddHeader(label: "CanonicalName")
|
|
.AddHeader(label: "Category")
|
|
.AddHeader(label: "Description")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("CanonicalName")
|
|
.AddPropertyColumn("Category")
|
|
.AddPropertyColumn("Description")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ApplicationInfo()
|
|
{
|
|
yield return new FormatViewDefinition("ApplicationInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Path")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("System.Management.Automation.ApplicationInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"CommandType")
|
|
.AddItemProperty(@"Definition")
|
|
.AddItemProperty(@"Extension")
|
|
.AddItemProperty(@"Path")
|
|
.AddItemProperty(@"FileVersionInfo")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ScriptInfo()
|
|
{
|
|
yield return new FormatViewDefinition("ScriptInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Definition")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("System.Management.Automation.ScriptInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"CommandType")
|
|
.AddItemProperty(@"Definition")
|
|
.AddItemProperty(@"Path")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ExternalScriptInfo()
|
|
{
|
|
yield return new FormatViewDefinition("ExternalScriptInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Path")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_FunctionInfo()
|
|
{
|
|
yield return new FormatViewDefinition("FunctionInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Function")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_FilterInfo()
|
|
{
|
|
yield return new FormatViewDefinition("FilterInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Filter")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_AliasInfo()
|
|
{
|
|
yield return new FormatViewDefinition("AliasInfo",
|
|
TableControl.Create()
|
|
.AddHeader(width: 15)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("CommandType")
|
|
.AddPropertyColumn("DisplayName")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("System.Management.Automation.AliasInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"DisplayName")
|
|
.AddItemProperty(@"CommandType")
|
|
.AddItemProperty(@"Definition")
|
|
.AddItemProperty(@"ReferencedCommand")
|
|
.AddItemProperty(@"ResolvedCommand")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_ListCommand_MemberInfo()
|
|
{
|
|
yield return new FormatViewDefinition("memberinfo",
|
|
TableControl.Create()
|
|
.AddHeader(label: "Class", width: 11)
|
|
.AddHeader(width: 25)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("MemberClass")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("MemberData")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.ListCommand+MemberInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"MemberClass")
|
|
.AddItemProperty(@"MemberData")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_ActiveDirectoryProvider_ADPSDriveInfo_System_Management_Automation_PSDriveInfo()
|
|
{
|
|
yield return new FormatViewDefinition("drive",
|
|
TableControl.Create()
|
|
.AddHeader(width: 10)
|
|
.AddHeader(label: "Used (GB)", width: 13)
|
|
.AddHeader(label: "Free (GB)", width: 13)
|
|
.AddHeader(label: "Provider", width: 13)
|
|
.AddHeader(label: "Root", width: 35)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddScriptBlockColumn(@"if($_.Used -or $_.Free) { ""{0:###0.00}"" -f ($_.Used / 1GB) }", alignment: Alignment.Right)
|
|
.AddScriptBlockColumn(@"if($_.Used -or $_.Free) { ""{0:###0.00}"" -f ($_.Free / 1GB) }", alignment: Alignment.Right)
|
|
.AddScriptBlockColumn("$_.Provider.Name")
|
|
.AddScriptBlockColumn("if($null -ne $_.DisplayRoot) { $_.DisplayRoot } else { $_.Root }")
|
|
.AddPropertyColumn("CurrentLocation", alignment: Alignment.Right)
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ProviderInfo()
|
|
{
|
|
yield return new FormatViewDefinition("provider",
|
|
TableControl.Create()
|
|
.AddHeader(width: 20)
|
|
.AddHeader()
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Capabilities")
|
|
.AddPropertyColumn("Drives")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("provider",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Drives")
|
|
.AddItemProperty(@"Path")
|
|
.AddItemProperty(@"Home")
|
|
.AddItemProperty(@"Description")
|
|
.AddItemProperty(@"Capabilities")
|
|
.AddItemProperty(@"ImplementingType")
|
|
.AddItemProperty(@"AssemblyInfo")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_CmdletInfo()
|
|
{
|
|
yield return new FormatViewDefinition("System.Management.Automation.CmdletInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"CommandType")
|
|
.AddItemProperty(@"Definition")
|
|
.AddItemProperty(@"Path")
|
|
.AddItemProperty(@"AssemblyInfo")
|
|
.AddItemProperty(@"DLL")
|
|
.AddItemProperty(@"HelpFile")
|
|
.AddItemProperty(@"ParameterSets")
|
|
.AddItemProperty(@"ImplementingType")
|
|
.AddItemProperty(@"Verb")
|
|
.AddItemProperty(@"Noun")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_FilterInfo_System_Management_Automation_FunctionInfo()
|
|
{
|
|
yield return new FormatViewDefinition("System.Management.Automation.CommandInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"CommandType")
|
|
.AddItemProperty(@"Definition")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_PSDriveInfo()
|
|
{
|
|
yield return new FormatViewDefinition("System.Management.Automation.PSDriveInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Description")
|
|
.AddItemProperty(@"Provider")
|
|
.AddItemProperty(@"Root")
|
|
.AddItemProperty(@"CurrentLocation")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ShellVariable()
|
|
{
|
|
yield return new FormatViewDefinition("ShellVariable",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Value")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ScriptBlock()
|
|
{
|
|
yield return new FormatViewDefinition("ScriptBlock",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddScriptBlockExpressionBinding(@"$_")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ErrorRecord()
|
|
{
|
|
yield return new FormatViewDefinition("ErrorInstance",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddScriptBlockExpressionBinding(@"
|
|
if (($_.FullyQualifiedErrorId -ne ""NativeCommandErrorMessage"" -and $_.FullyQualifiedErrorId -ne ""NativeCommandError"") -and $ErrorView -ne ""CategoryView"")
|
|
{
|
|
$myinv = $_.InvocationInfo
|
|
if ($myinv -and $myinv.MyCommand)
|
|
{
|
|
switch -regex ( $myinv.MyCommand.CommandType )
|
|
{
|
|
([System.Management.Automation.CommandTypes]::ExternalScript)
|
|
{
|
|
if ($myinv.MyCommand.Path)
|
|
{
|
|
$myinv.MyCommand.Path + "" : ""
|
|
}
|
|
|
|
break
|
|
}
|
|
|
|
([System.Management.Automation.CommandTypes]::Script)
|
|
{
|
|
if ($myinv.MyCommand.ScriptBlock)
|
|
{
|
|
$myinv.MyCommand.ScriptBlock.ToString() + "" : ""
|
|
}
|
|
|
|
break
|
|
}
|
|
default
|
|
{
|
|
if ($myinv.InvocationName -match '^[&\.]?$')
|
|
{
|
|
if ($myinv.MyCommand.Name)
|
|
{
|
|
$myinv.MyCommand.Name + "" : ""
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$myinv.InvocationName + "" : ""
|
|
}
|
|
|
|
break
|
|
}
|
|
}
|
|
}
|
|
elseif ($myinv -and $myinv.InvocationName)
|
|
{
|
|
$myinv.InvocationName + "" : ""
|
|
}
|
|
}
|
|
")
|
|
.AddScriptBlockExpressionBinding(@"
|
|
if ($_.FullyQualifiedErrorId -eq ""NativeCommandErrorMessage"" -or $_.FullyQualifiedErrorId -eq ""NativeCommandError"") {
|
|
$_.Exception.Message
|
|
}
|
|
else
|
|
{
|
|
$myinv = $_.InvocationInfo
|
|
if ($myinv -and ($myinv.MyCommand -or ($_.CategoryInfo.Category -ne 'ParserError'))) {
|
|
$posmsg = $myinv.PositionMessage
|
|
} else {
|
|
$posmsg = """"
|
|
}
|
|
|
|
if ($posmsg -ne """")
|
|
{
|
|
$posmsg = ""`n"" + $posmsg
|
|
}
|
|
|
|
if ( & { Set-StrictMode -Version 1; $_.PSMessageDetails } ) {
|
|
$posmsg = "" : "" + $_.PSMessageDetails + $posmsg
|
|
}
|
|
|
|
$indent = 4
|
|
|
|
$errorCategoryMsg = & { Set-StrictMode -Version 1; $_.ErrorCategory_Message }
|
|
|
|
if ($null -ne $errorCategoryMsg)
|
|
{
|
|
$indentString = ""+ CategoryInfo : "" + $_.ErrorCategory_Message
|
|
}
|
|
else
|
|
{
|
|
$indentString = ""+ CategoryInfo : "" + $_.CategoryInfo
|
|
}
|
|
|
|
$posmsg += ""`n"" + $indentString
|
|
|
|
$indentString = ""+ FullyQualifiedErrorId : "" + $_.FullyQualifiedErrorId
|
|
$posmsg += ""`n"" + $indentString
|
|
|
|
$originInfo = & { Set-StrictMode -Version 1; $_.OriginInfo }
|
|
|
|
if (($null -ne $originInfo) -and ($null -ne $originInfo.PSComputerName))
|
|
{
|
|
$indentString = ""+ PSComputerName : "" + $originInfo.PSComputerName
|
|
$posmsg += ""`n"" + $indentString
|
|
}
|
|
|
|
if ($ErrorView -eq ""CategoryView"") {
|
|
$_.CategoryInfo.GetMessage()
|
|
}
|
|
elseif (! $_.ErrorDetails -or ! $_.ErrorDetails.Message) {
|
|
$_.Exception.Message + $posmsg + ""`n ""
|
|
} else {
|
|
$_.ErrorDetails.Message + $posmsg
|
|
}
|
|
}
|
|
")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_WarningRecord()
|
|
{
|
|
yield return new FormatViewDefinition("WarningRecord",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddPropertyExpressionBinding(@"Message")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Deserialized_System_Management_Automation_WarningRecord()
|
|
{
|
|
yield return new FormatViewDefinition("DeserializedWarningRecord",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddPropertyExpressionBinding(@"InformationalRecord_Message")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_InformationRecord()
|
|
{
|
|
yield return new FormatViewDefinition("InformationRecord",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddScriptBlockExpressionBinding(@"$_.ToString()")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_ByteCollection(CustomControl[] sharedControls)
|
|
{
|
|
yield return new FormatViewDefinition("ByteCollection",
|
|
CustomControl.Create()
|
|
.GroupByScriptBlock("if($_.Path) { $_.Path } else { $_.GetHashCode() }", customControl: sharedControls[1])
|
|
.StartEntry()
|
|
.StartFrame()
|
|
.AddScriptBlockExpressionBinding(@"$_.ToString()")
|
|
.EndFrame()
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Exception()
|
|
{
|
|
yield return new FormatViewDefinition("Exception",
|
|
CustomControl.Create(outOfBand: true)
|
|
.StartEntry()
|
|
.AddScriptBlockExpressionBinding(@"$_.Message")
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_CommandParameterSetInfo()
|
|
{
|
|
var FmtParameterAttributes = CustomControl.Create()
|
|
.StartEntry()
|
|
.StartFrame(leftIndent: 2)
|
|
.AddNewline()
|
|
.EndFrame()
|
|
.EndEntry()
|
|
.EndControl();
|
|
|
|
var FmtParameterInfo = CustomControl.Create()
|
|
.StartEntry()
|
|
.AddNewline()
|
|
.StartFrame(leftIndent: 2)
|
|
.AddText("Parameter Name: ")
|
|
.AddPropertyExpressionBinding(@"Name")
|
|
.AddNewline()
|
|
.StartFrame(leftIndent: 2)
|
|
.AddText("ParameterType = ")
|
|
.AddPropertyExpressionBinding(@"ParameterType")
|
|
.AddNewline()
|
|
.AddText("Position = ")
|
|
.AddPropertyExpressionBinding(@"Position")
|
|
.AddNewline()
|
|
.AddText("IsMandatory = ")
|
|
.AddPropertyExpressionBinding(@"IsMandatory")
|
|
.AddNewline()
|
|
.AddText("IsDynamic = ")
|
|
.AddPropertyExpressionBinding(@"IsDynamic")
|
|
.AddNewline()
|
|
.AddText("HelpMessage = ")
|
|
.AddPropertyExpressionBinding(@"HelpMessage")
|
|
.AddNewline()
|
|
.AddText("ValueFromPipeline = ")
|
|
.AddPropertyExpressionBinding(@"ValueFromPipeline")
|
|
.AddNewline()
|
|
.AddText("ValueFromPipelineByPropertyName = ")
|
|
.AddPropertyExpressionBinding(@"ValueFromPipelineByPropertyName")
|
|
.AddNewline()
|
|
.AddText("ValueFromRemainingArguments = ")
|
|
.AddPropertyExpressionBinding(@"ValueFromRemainingArguments")
|
|
.AddNewline()
|
|
.AddText("Aliases = ")
|
|
.AddPropertyExpressionBinding(@"Aliases")
|
|
.AddNewline()
|
|
.AddText("Attributes =")
|
|
.AddNewline()
|
|
.AddPropertyExpressionBinding(@"Attributes", enumerateCollection: true, customControl: FmtParameterAttributes)
|
|
.EndFrame()
|
|
.EndFrame()
|
|
.EndEntry()
|
|
.EndControl();
|
|
|
|
yield return new FormatViewDefinition("CommandParameterSetInfo",
|
|
CustomControl.Create()
|
|
.StartEntry()
|
|
.AddText("Parameter Set Name: ")
|
|
.AddPropertyExpressionBinding(@"Name")
|
|
.AddNewline()
|
|
.AddText("Is default parameter set: ")
|
|
.AddPropertyExpressionBinding(@"IsDefault")
|
|
.AddNewline()
|
|
.AddPropertyExpressionBinding(@"Parameters", enumerateCollection: true, customControl: FmtParameterInfo)
|
|
.AddNewline()
|
|
.EndEntry()
|
|
.EndControl());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_Runspaces_Runspace()
|
|
{
|
|
yield return new FormatViewDefinition("Runspace",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "Id", width: 3)
|
|
.AddHeader(Alignment.Left, label: "Name", width: 15)
|
|
.AddHeader(Alignment.Left, label: "ComputerName", width: 15)
|
|
.AddHeader(Alignment.Left, label: "Type", width: 13)
|
|
.AddHeader(Alignment.Left, label: "State", width: 13)
|
|
.AddHeader(Alignment.Left, label: "Availability", width: 15)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Id")
|
|
.AddPropertyColumn("Name")
|
|
.AddScriptBlockColumn(@"
|
|
if ($null -ne $_.ConnectionInfo)
|
|
{
|
|
$_.ConnectionInfo.ComputerName
|
|
}
|
|
else
|
|
{
|
|
""localhost""
|
|
}
|
|
")
|
|
.AddScriptBlockColumn(@"
|
|
if ($null -ne $_.ConnectionInfo)
|
|
{
|
|
""Remote""
|
|
}
|
|
else
|
|
{
|
|
""Local""
|
|
}
|
|
")
|
|
.AddScriptBlockColumn("$_.RunspaceStateInfo.State")
|
|
.AddScriptBlockColumn(@"
|
|
if (($null -ne $_.Debugger) -and ($_.Debugger.InBreakpoint))
|
|
{
|
|
""InBreakpoint""
|
|
}
|
|
else
|
|
{
|
|
$_.RunspaceAvailability
|
|
}
|
|
")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_Runspaces_PSSession()
|
|
{
|
|
yield return new FormatViewDefinition("PSSession",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "Id", width: 3)
|
|
.AddHeader(Alignment.Left, label: "Name", width: 15)
|
|
.AddHeader(Alignment.Left, label: "Transport", width: 9)
|
|
.AddHeader(Alignment.Left, label: "ComputerName", width: 15)
|
|
.AddHeader(Alignment.Left, label: "ComputerType", width: 15)
|
|
.AddHeader(Alignment.Left, label: "State", width: 13)
|
|
.AddHeader(Alignment.Left, label: "ConfigurationName", width: 20)
|
|
.AddHeader(Alignment.Right, label: "Availability", width: 13)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Id")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Transport")
|
|
.AddPropertyColumn("ComputerName")
|
|
.AddPropertyColumn("ComputerType")
|
|
.AddPropertyColumn("State")
|
|
.AddPropertyColumn("ConfigurationName")
|
|
.AddPropertyColumn("Availability")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_Job()
|
|
{
|
|
yield return new FormatViewDefinition("Job",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, label: "Id", width: 6)
|
|
.AddHeader(Alignment.Left, label: "Name", width: 15)
|
|
.AddHeader(Alignment.Left, label: "PSJobTypeName", width: 15)
|
|
.AddHeader(Alignment.Left, label: "State", width: 13)
|
|
.AddHeader(Alignment.Left, label: "HasMoreData", width: 15)
|
|
.AddHeader(Alignment.Left, label: "Location", width: 20)
|
|
.AddHeader(Alignment.Left, label: "Command", width: 25)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Id")
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("PSJobTypeName")
|
|
.AddPropertyColumn("State")
|
|
.AddPropertyColumn("HasMoreData")
|
|
.AddPropertyColumn("Location")
|
|
.AddPropertyColumn("Command")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Deserialized_Microsoft_PowerShell_Commands_TextMeasureInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.TextMeasureInfo",
|
|
TableControl.Create()
|
|
.AddHeader(label: "Lines")
|
|
.AddHeader(label: "Words")
|
|
.AddHeader(label: "Characters")
|
|
.AddHeader(label: "Property")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Lines")
|
|
.AddPropertyColumn("Words")
|
|
.AddPropertyColumn("Characters")
|
|
.AddPropertyColumn("Property")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Deserialized_Microsoft_PowerShell_Commands_GenericMeasureInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.GenericMeasureInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Count")
|
|
.AddItemProperty(@"Average")
|
|
.AddItemProperty(@"Sum")
|
|
.AddItemProperty(@"Maximum")
|
|
.AddItemProperty(@"Minimum")
|
|
.AddItemProperty(@"Property")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_CallStackFrame()
|
|
{
|
|
yield return new FormatViewDefinition("CallStackFrame",
|
|
TableControl.Create()
|
|
.AddHeader(label: "Command")
|
|
.AddHeader(label: "Arguments")
|
|
.AddHeader(label: "Location")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Command")
|
|
.AddPropertyColumn("Arguments")
|
|
.AddPropertyColumn("Location")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_BreakpointTypes()
|
|
{
|
|
yield return new FormatViewDefinition("Breakpoint",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "ID", width: 4)
|
|
.AddHeader(label: "Script")
|
|
.AddHeader(Alignment.Right, label: "Line", width: 4)
|
|
.AddHeader(label: "Command")
|
|
.AddHeader(label: "Variable")
|
|
.AddHeader(label: "Action")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("ID")
|
|
.AddScriptBlockColumn("if ($_.Script) { [System.IO.Path]::GetFileName($_.Script) }")
|
|
.AddPropertyColumn("Line")
|
|
.AddPropertyColumn("Command")
|
|
.AddPropertyColumn("Variable")
|
|
.AddPropertyColumn("Action")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("Breakpoint",
|
|
ListControl.Create()
|
|
.StartEntry(entrySelectedByType: new[] { "System.Management.Automation.LineBreakpoint" })
|
|
.AddItemProperty(@"ID")
|
|
.AddItemProperty(@"Script")
|
|
.AddItemProperty(@"Line")
|
|
.AddItemProperty(@"Column")
|
|
.AddItemProperty(@"Enabled")
|
|
.AddItemProperty(@"HitCount")
|
|
.AddItemProperty(@"Action")
|
|
.EndEntry()
|
|
.StartEntry(entrySelectedByType: new[] { "System.Management.Automation.VariableBreakpoint" })
|
|
.AddItemProperty(@"ID")
|
|
.AddItemProperty(@"Variable")
|
|
.AddItemProperty(@"AccessMode")
|
|
.AddItemProperty(@"Enabled")
|
|
.AddItemProperty(@"HitCount")
|
|
.AddItemProperty(@"Action")
|
|
.EndEntry()
|
|
.StartEntry(entrySelectedByType: new[] { "System.Management.Automation.CommandBreakpoint" })
|
|
.AddItemProperty(@"ID")
|
|
.AddItemProperty(@"Command")
|
|
.AddItemProperty(@"Enabled")
|
|
.AddItemProperty(@"HitCount")
|
|
.AddItemProperty(@"Action")
|
|
.EndEntry()
|
|
.StartEntry()
|
|
.AddItemProperty(@"ID")
|
|
.AddItemProperty(@"Script")
|
|
.AddItemProperty(@"Enabled")
|
|
.AddItemProperty(@"HitCount")
|
|
.AddItemProperty(@"Action")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_PSSessionConfigurationCommands_PSSessionConfiguration()
|
|
{
|
|
yield return new FormatViewDefinition("PSSessionConfiguration",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"PSVersion")
|
|
.AddItemProperty(@"StartupScript")
|
|
.AddItemProperty(@"RunAsUser")
|
|
.AddItemProperty(@"Permission")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_ComputerChangeInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.ComputerChangeInfo",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, label: "HasSucceeded", width: 12)
|
|
.AddHeader(label: "ComputerName", width: 25)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("HasSucceeded")
|
|
.AddPropertyColumn("ComputerName")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_RenameComputerChangeInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.RenameComputerChangeInfo",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, label: "HasSucceeded", width: 12)
|
|
.AddHeader(label: "OldComputerName", width: 25)
|
|
.AddHeader(label: "NewComputerName", width: 25)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("HasSucceeded")
|
|
.AddPropertyColumn("OldComputerName")
|
|
.AddPropertyColumn("NewComputerName")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_ModuleInfoGrouping(CustomControl[] sharedControls)
|
|
{
|
|
yield return new FormatViewDefinition("Module",
|
|
TableControl.Create()
|
|
.GroupByScriptBlock("Split-Path -Parent $_.Path | ForEach-Object { if([Version]::TryParse((Split-Path $_ -Leaf), [ref]$null)) { Split-Path -Parent $_} else {$_} } | Split-Path -Parent", customControl: sharedControls[0])
|
|
.AddHeader(Alignment.Left, width: 10)
|
|
.AddHeader(Alignment.Left, width: 10)
|
|
.AddHeader(Alignment.Left, label: "PreRelease", width: 10)
|
|
.AddHeader(Alignment.Left, width: 35)
|
|
.AddHeader(Alignment.Left, width: 9, label: "PSEdition")
|
|
.AddHeader(Alignment.Left, label: "ExportedCommands")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("ModuleType")
|
|
.AddPropertyColumn("Version")
|
|
.AddScriptBlockColumn(@"
|
|
if ($_.PrivateData -and $_.PrivateData.PSData)
|
|
{
|
|
$_.PrivateData.PSData.PreRelease
|
|
}")
|
|
.AddPropertyColumn("Name")
|
|
.AddScriptBlockColumn(@"
|
|
$result = [System.Collections.ArrayList]::new()
|
|
$editions = $_.CompatiblePSEditions
|
|
if (-not $editions)
|
|
{
|
|
$editions = @('Desktop')
|
|
}
|
|
|
|
foreach ($edition in $editions)
|
|
{
|
|
$result += $edition.Substring(0,4)
|
|
}
|
|
|
|
($result | Sort-Object) -join ','")
|
|
.AddScriptBlockColumn("$_.ExportedCommands.Keys")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_PSModuleInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Module",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, width: 10)
|
|
.AddHeader(Alignment.Left, width: 10)
|
|
.AddHeader(Alignment.Left, label: "PreRelease", width: 10)
|
|
.AddHeader(Alignment.Left, width: 35)
|
|
.AddHeader(Alignment.Left, label: "ExportedCommands")
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("ModuleType")
|
|
.AddPropertyColumn("Version")
|
|
.AddScriptBlockColumn(@"
|
|
if ($_.PrivateData -and $_.PrivateData.PSData)
|
|
{
|
|
$_.PrivateData.PSData.PreRelease
|
|
}")
|
|
.AddPropertyColumn("Name")
|
|
.AddScriptBlockColumn("$_.ExportedCommands.Keys")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("Module",
|
|
WideControl.Create()
|
|
.AddPropertyEntry("Name")
|
|
.EndWideControl());
|
|
|
|
yield return new FormatViewDefinition("Module",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"Name")
|
|
.AddItemProperty(@"Path")
|
|
.AddItemProperty(@"Description")
|
|
.AddItemProperty(@"ModuleType")
|
|
.AddItemProperty(@"Version")
|
|
.AddItemScriptBlock(
|
|
@"
|
|
if ($_.PrivateData -and $_.PrivateData.PSData)
|
|
{
|
|
$_.PrivateData.PSData.PreRelease
|
|
}",
|
|
label: "PreRelease")
|
|
.AddItemProperty(@"NestedModules")
|
|
.AddItemScriptBlock(@"$_.ExportedFunctions.Keys", label: "ExportedFunctions")
|
|
.AddItemScriptBlock(@"$_.ExportedCmdlets.Keys", label: "ExportedCmdlets")
|
|
.AddItemScriptBlock(@"$_.ExportedVariables.Keys", label: "ExportedVariables")
|
|
.AddItemScriptBlock(@"$_.ExportedAliases.Keys", label: "ExportedAliases")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_System_Management_Automation_ExperimentalFeature()
|
|
{
|
|
yield return new FormatViewDefinition("ExperimentalFeature",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, width: 35)
|
|
.AddHeader(Alignment.Right, width: 7)
|
|
.AddHeader(Alignment.Left, width: 35)
|
|
.AddHeader(Alignment.Left)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Name")
|
|
.AddPropertyColumn("Enabled")
|
|
.AddPropertyColumn("Source")
|
|
.AddPropertyColumn("Description")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
|
|
yield return new FormatViewDefinition("ExperimentalFeature",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty("Name")
|
|
.AddItemProperty("Enabled")
|
|
.AddItemProperty("Source")
|
|
.AddItemProperty("Description")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_BasicHtmlWebResponseObject()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.BasicHtmlWebResponseObject",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"StatusCode")
|
|
.AddItemProperty(@"StatusDescription")
|
|
.AddItemScriptBlock(@"
|
|
$result = $_.Content
|
|
$result = $result.Substring(0, [Math]::Min($result.Length, 200) )
|
|
if($result.Length -eq 200) { $result += ""`u{2026}"" }
|
|
|
|
$result
|
|
", label: "Content")
|
|
.AddItemScriptBlock(@"
|
|
$result = $_.RawContent
|
|
$result = $result.Substring(0, [Math]::Min($result.Length, 200) )
|
|
if($result.Length -eq 200) { $result += ""`u{2026}"" }
|
|
|
|
$result
|
|
", label: "RawContent")
|
|
.AddItemProperty(@"Headers")
|
|
.AddItemProperty(@"Images")
|
|
.AddItemProperty(@"InputFields")
|
|
.AddItemProperty(@"Links")
|
|
.AddItemProperty(@"RawContentLength")
|
|
.AddItemProperty(@"RelationLink")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_WebResponseObject()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.WebResponseObject",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemProperty(@"StatusCode")
|
|
.AddItemProperty(@"StatusDescription")
|
|
.AddItemProperty(@"Content")
|
|
.AddItemScriptBlock(@"
|
|
$result = $_.RawContent
|
|
$result = $result.Substring(0, [Math]::Min($result.Length, 200) )
|
|
if($result.Length -eq 200) { $result += ""`u{2026}"" }
|
|
|
|
$result
|
|
", label: "RawContent")
|
|
.AddItemProperty(@"Headers")
|
|
.AddItemProperty(@"RawContentLength")
|
|
.AddItemProperty(@"RelationLink")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_Powershell_Utility_FileHashInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.Commands.FileHashInfo",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Left, width: 15)
|
|
.AddHeader(Alignment.Left, width: 70)
|
|
.AddHeader()
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("Algorithm")
|
|
.AddPropertyColumn("Hash")
|
|
.AddPropertyColumn("Path")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_Commands_PSRunspaceDebug()
|
|
{
|
|
yield return new FormatViewDefinition("PSRunspaceDebug>",
|
|
TableControl.Create()
|
|
.AddHeader(Alignment.Right, label: "Id", width: 3)
|
|
.AddHeader(Alignment.Left, label: "Name", width: 20)
|
|
.AddHeader(Alignment.Left, label: "Enabled", width: 10)
|
|
.AddHeader(Alignment.Left, label: "BreakAll", width: 10)
|
|
.StartRowDefinition()
|
|
.AddPropertyColumn("RunspaceId")
|
|
.AddPropertyColumn("RunspaceName")
|
|
.AddPropertyColumn("Enabled")
|
|
.AddPropertyColumn("BreakAll")
|
|
.EndRowDefinition()
|
|
.EndTable());
|
|
}
|
|
|
|
private static IEnumerable<FormatViewDefinition> ViewsOf_Microsoft_PowerShell_MarkdownRender_MarkdownOptionInfo()
|
|
{
|
|
yield return new FormatViewDefinition("Microsoft.PowerShell.MarkdownRender.PSMarkdownOptionInfo",
|
|
ListControl.Create()
|
|
.StartEntry()
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header1')", label: "Header1")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header2')", label: "Header2")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header3')", label: "Header3")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header4')", label: "Header4")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header5')", label: "Header5")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Header6')", label: "Header6")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Code')", label: "Code")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Link')", label: "Link")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('Image')", label: "Image")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('EmphasisBold')", label: "EmphasisBold")
|
|
.AddItemScriptBlock(@"$_.AsEscapeSequence('EmphasisItalics')", label: "EmphasisItalics")
|
|
.EndEntry()
|
|
.EndList());
|
|
}
|
|
}
|
|
}
|