Public/Write-Output.ps1
Function Write-Output { [CmdletBinding(HelpUri='https://go.microsoft.com/fwlink/?LinkID=113427', RemotingCapability='None')] param( [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromRemainingArguments=$true)] [AllowNull()] [AllowEmptyCollection()] [psobject[]] $InputObject, [switch] $NoEnumerate ) Begin { $Level = 'Output' Try { $Function = (Get-PSCallStack)[1].Command Write-Log -Message $($InputObject | Out-String) -Function $Function -Level $Level } Catch { $Prefix = $Script:LogPrefix.$Level Write-Log -Message "FAILED TO LOG $Prefix MESSAGE: $_" -Function $('{0}\{1}' -f $Script:ModuleName,$MyInvocation.MyCommand) -Level 'Critical' } Try { $outBuffer = $null If ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { $PSBoundParameters['OutBuffer'] = 1 } $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Microsoft.PowerShell.Utility\Write-Output', [System.Management.Automation.CommandTypes]::Cmdlet) $scriptCmd = {& $wrappedCmd @PSBoundParameters } $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin) $steppablePipeline.Begin($PSCmdlet) } Catch { Throw } } Process { Try { $steppablePipeline.Process($_) } Catch { Throw } } End { Try { $steppablePipeline.End() } Catch { Throw } } <# .ForwardHelpTargetName Microsoft.PowerShell.Utility\Write-Output .ForwardHelpCategory Cmdlet #> } |