| external help file | Microsoft.PowerShell.Commands.Utility.dll-Help.xml | |
|---|---|---|
| Locale | en-US | |
| Module Name | Microsoft.PowerShell.Utility | |
| ms.date | 01/18/2026 | |
| online version | https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/format-custom?view=powershell-7.6&WT.mc_id=ps-gethelp | |
| schema | 2.0.0 | |
| aliases |
|
|
| title | Format-Custom |
Uses a customized view to format the output.
Format-Custom [[-Property] <Object[]>] [-Depth <Int32>] [-GroupBy <Object>] [-View <String>]
[-ShowError] [-DisplayError] [-Force] [-Expand <String>] [-InputObject <PSObject>]
[<CommonParameters>]
The Format-Custom cmdlet formats the output of a command as defined in an alternate view.
Format-Custom is designed to display views that are not just tables or just lists. You can use the
views defined in PowerShell, or you can create your own views in a new format.ps1xml file and use
the Update-FormatData cmdlet to add them to PowerShell.
Get-Command Start-Transcript | Format-Custom -View MyViewThis command formats information about the Start-Transcript cmdlet in the format defined by the
MyView view, a custom view created by the user. To run this command successfully, you must first
create a new PS1XML file, define the MyView view, and then use the Update-FormatData command
to add the PS1XML file to PowerShell.
Get-Process Winlogon | Format-CustomThis command formats information about the Winlogon process in an alternate customized view.
Because the command does not use the View parameter, Format-Custom uses a default custom view
to format the data.
The following examples show of the results of adding the DisplayError or ShowError parameters with an expression.
PC /> Get-Date | Format-Custom DayOfWeek,{ $_ / $null } -DisplayError
class DateTime
{
DayOfWeek = Friday
$_ / $null = #ERR
}
PC /> Get-Date | Format-Custom DayOfWeek,{ $_ / $null } -ShowError
class DateTime
{
DayOfWeek = Friday
$_ / $null =
}
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (12/21/2018 8:01:04 AM:PSObject) [], RuntimeException
+ FullyQualifiedErrorId : PSPropertyExpressionErrorSpecifies the number of columns in the display.
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseDisplays errors at the command line. This parameter is rarely used, but can be used as a debugging
aid when you are formatting expressions in a Format-Custom command, and the expressions do not
appear to be working.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseFormats the collection object, as well as the objects in the collection. This parameter is designed to format objects that support the System.Collections.ICollection interface. The default value is EnumOnly.
Valid values are:
- EnumOnly: Displays the properties of the objects in the collection.
- CoreOnly: Displays the properties of the collection object.
- Both: Displays the properties of the collection object and the objects in the collection.
Type: System.String
Parameter Sets: (All)
Aliases:
Accepted values: CoreOnly, EnumOnly, Both
Required: False
Position: Named
Default value: EnumOnly
Accept pipeline input: False
Accept wildcard characters: FalseDirects the cmdlet to display all of the error information. Use with the DisplayError or ShowError parameters. By default, when an error object is written to the error or display streams, only some of the error information is displayed.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseFormats the output in groups based on a shared property or value. Enter an expression or a property
of the output. The GroupBy parameter expects that the objects are sorted. Use the Sort-Object
cmdlet before using Format-Custom to group the objects.
The value of the GroupBy parameter can be a new calculated property. The calculated property can be a scriptblock or a hashtable. Valid key-value pairs are:
- Name (or Label) -
<string> - Expression -
<string>or<scriptblock> - FormatString -
<string>
For more information, see about_Calculated_Properties.
Type: System.Object
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies the objects to be formatted. Enter a variable that contains the objects or type a command or expression that gets the objects.
Type: System.Management.Automation.PSObject
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: FalseSpecifies the object properties that appear in the display and the order in which they appear. Wildcards are permitted.
If you omit this parameter, the properties that appear in the display depend on the object being displayed. The parameter name Property is optional. You cannot use the Property and View parameters in the same command.
The value of the Property parameter can be a new calculated property. The calculated property can be a scriptblock or a hash table. Valid key-value pairs are:
- Expression -
<string>or<scriptblock> - Depth -
<int32>
For more information, see about_Calculated_Properties.
Type: System.Object[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: TrueSends errors through the pipeline. This parameter is rarely used, but can be used as a debugging aid
when you are formatting expressions in a Format-Custom command, and the expressions do not appear
to be working.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies the name of an alternate format or view. If you omit this parameter, Format-Custom
uses a default custom view. You cannot use the Property and View parameters in the same
command.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseThis cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
You can pipe any object to this cmdlet.
This cmdlet returns the format objects that represent the display.
PowerShell includes the following aliases for Format-Custom:
- All platforms:
fc
Format-Custom is designed to display views that are not just tables or just lists. To display an
alternate table view, use Format-Table. To display an alternate list view, use Format-List.
The GroupBy parameter assumes that the objects are sorted. Before using Format-Custom to
group the objects, use Sort-Object to sort them.