Public/Get-BranchesWithUpstreamGone.ps1

function Get-BranchesWithUpstreamGone
{
    param
    (
        [Parameter(Position = 0)]
        [ValidateNotNullOrEmpty()]
        [string]$Directory = '.',

        [switch]$SkipFetch
    )

    if (-not $SkipFetch)
    {
        $FetchOutput = git -C $Directory fetch --all --prune 2>&1
        if ($LastExitCode) { throw $FetchOutput }
    }

    git -C $Directory branch -v
    | Where-Object { $_.Contains('[gone]') }
    | ForEach-Object {
        if ($_.Split(' ').Item(1) -ne '')
        {
            $_.Split(' ').Item(1)
        }
        else
        {
            $_.Split(' ').Item(2)
        }
    }
}