Public/ConvertFrom-GenTime.ps1

function ConvertFrom-GenTime {
    <#
        .Synopsis
            Преобразование даты из GeneralTime в "обычный формат"
        .Description
            Преобразование даты из GeneralTime в "обычный формат"
        .Parameter Date
            Дата и время в формате GeneralTime
        .Example
            PS C:\> ConvertFrom-GenTime -Date '19870206000000.0Z'
            6 февраля 1987 г. 0:00:00
        .Notes
 
        .Inputs
           Дата и время в формате GeneralTime
        .Outputs
            Дата и время в виде System.DateTime
 
    #>

    [CmdletBinding()]
    [OutputType([System.DateTime])]
    param(
        [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)]
        $Date
    )
    Begin {

    }
    Process {
        try {
            $Year = $Date.Substring(0, 4)
            $Month = $Date.Substring(4, 2)
            $Day = $Date.Substring(6, 2)

            $Hour = $Date.Substring(8, 2)
            $Minute = $Date.Substring(10, 2)
            $Second = $Date.Substring(12, 2)

            $Result = Get-Date -Year $Year -Month $Month -Day $Day -Hour $Hour -Minute $Minute -Second $Second
        }
        catch {
            #$PSCmdlet.ThrowTerminatingError($PSItem)
            Write-Error -Exception $PSItem.Exeception
        }
    }
    End {
        return $Result
    }
}