Public/Get-WarningDetail.ps1

function Get-WarningDetail {
    param (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)]
        $Warning
    )
    process {
        if ($Warning -is [Management.Automation.ErrorRecord]) {
            $Result = [PSCustomObject]@{
                Message = $Warning.Message
                Script  = $Warning.InvocationInfo.ScriptName
                Line    = $Warning.InvocationInfo.ScriptLineNumber
                Column  = $Warning.InvocationInfo.OffsetInLine
                Datum   = Get-Date
                User    = [System.Environment]::UserName
            }
        }
        else {
            $Result = 'Не удалось получить детальную информацию опредупреждении.'
        }
    }
    end {
        return $Result
    }
}