Sends the output to the default formatter and to the default output cmdlet.


   [-InputObject <PSObject>]


PowerShell automatically adds Out-Default to the end of every pipeline. Out-Default decides how to format and output the object stream. If the object stream is a stream of strings, Out-Default pipes these directly to Out-Host which calls the appropriate APIs provided by the host. If the object stream does not contain strings, Out-Default inspects the object to determine what to do. First it looks at the object type and determines whether there is a registered view for this object type.

PowerShell defines XML schema and a mechanism (the Update-FormatData cmdlet) where anyone can register views for an object type. You can specify wide, list, table, or custom views for any object type. The views specify which properties to display and how they should be displayed. If a view is registered, it defines which formatter to use. So if the registered view is a table view, Out-Default streams the objects to Format-Table | Out-Host. Format-Table transforms the objects into a stream of Formatting records (driven by the data in the view definition) and Out-Host transforms the formatting records into calls on the Host interface.

This cmdlet isn't intended to be used by the end user. Other cmdlets are recommended for controlling output like Out-Host or using Format-* cmdlets and the Format.ps1xml file to control formatting.


Example 1

While this cmdlet is not intended to be run directly by the end user, it can be.

Get-Process | Select-Object -First 5 | Out-Default

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     12     2.56       5.20       0.00    7376   0 aesm_service
     48    34.32      18.10      26.64    9320  13 AlertusDesktopAlert
     24    13.97      12.74       0.77   12656  13 ApplicationFrameHost
      8     1.79       4.41       0.00    8180   0 AppVShNotify
      9     1.99       5.07       0.19   19320  13 AppVShNotify

No error is thrown when using Out-Default but the output isn't changed if it's not explicitly called.



Accepts input to the cmdlet.

Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Determines whether the output should be sent to PowerShell's transcription services.

Default value:None
Accept pipeline input:False
Accept wildcard characters:False