functions/Out-VerboseTee.ps1
|
Function Out-VerboseTee { [CmdletBinding()] [alias("tv", "Tee-Verbose")] Param( [Parameter(Position = 0, Mandatory)] [string]$Path, [Parameter(Mandatory, ValueFromPipeline)] [object]$Value, [System.Text.Encoding]$Encoding, [switch]$Append ) Begin { #turn on verbose pipeline since if you are running this command you intend for it to be on $VerbosePreference = "continue" } Process { #only run if Verbose is turned on if ($VerbosePreference -eq "continue") { ($Value | Out-String).Trim() | Write-Verbose [void]$PSBoundParameters.Remove("Append") if ($Append) { Add-Content @PSBoundParameters } else { Set-Content @PSBoundParameters } } } End { $VerbosePreference = "SilentlyContinue" } } #close Out-VerboseTee |