To steal from the .DESCRIPTION section of the comment-based help:

“Yes, PowerShell3 has Get-FileHash, but I have some PSH V2 environments that don't benefit from that yummy goodness.”

function Get-Sha256Hash
{
    <#

    .SYNOPSIS
    Get SHA256 checksum

    .DESCRIPTION
    Get SHA256 checksum.  Yes, PowerShell3 has Get-FileHash, but I have some PSH V2 environments that don't benefit from that yummy goodness.

    .PARAMETER Path
    File for which to generate checksum

    .NOTES
    Who         What        When        Why
    timdunn     V1.0        2014-01-27  Initial creation.

    #>


    param
    (
        [string]$Path = $null
    );

    if (!$Path)
    {
        Write-Warning "$($MyInvocation.MyCommand.Name) -Path not specified.  Stopping.";
        return;

    } # if (!$Path)
    elseif (Test-Path $Path)
    {
        if ((Get-Item $Path).PsIsContainer)
        {

            Write-Warning "$($MyInvocation.MyCommand.Name) -Path '$Path' is a folder.  Stopping.";
            return;

        } # if ((Get-Item $Path).PsIsContainer)

    } # if (Test-Path $Path)
    else
    {
        Write-Warning "$($MyInvocation.MyCommand.Name) -Path '$Path' not found.  Stopping.";
        return;

    } # if (Test-Path $Path)
    $Path = (Resolve-Path -Path $Path).ProviderPath;
$ObjectCheckSum = New-Object -TypeName System.Security.Cryptography.Sha256CryptoServiceProvider; [System.BitConverter]::ToString( $ObjectCheckSum.ComputeHash( [System.IO.File]::Open( $Path, [System.IO.Filemode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::ReadWrite ) ) ); } # function Get-Sha256Hash