Public/Write-Host.ps1

Function Write-Host {
[CmdletBinding(HelpUri='https://go.microsoft.com/fwlink/?LinkID=113426', RemotingCapability='None')]
param(
    [Parameter(Position=0, ValueFromPipeline=$true, ValueFromRemainingArguments=$true)]
    [System.Object]
    $Object,

    [switch]
    $NoNewline,

    [System.Object]
    $Separator,

    [System.ConsoleColor]
    $ForegroundColor,

    [System.ConsoleColor]
    $BackgroundColor
) # param

Begin
{
    $Level = 'Host'
    Try {
        $Function = (Get-PSCallStack)[1].Command
        Write-Log -Message $($Object | 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-Host', [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters }
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } Catch {
        Throw
    }
} # Begin

Process
{
    Try {
        $steppablePipeline.Process($_)
    } Catch {
        Throw
    }
} # Process

End
{
    Try {
        $steppablePipeline.End()
    } Catch {
        Throw
    }
} # End
<#
 
.ForwardHelpTargetName Microsoft.PowerShell.Utility\Write-Host
.ForwardHelpCategory Cmdlet
 
#>


}