function Get-Entrypoint() {
    $trace = Get-PSCallStack
    $call = $trace[$trace.Count - 1];

    if ($null -ne $call.ScriptName) {
        return $call.ScriptName;
    } else {
        $call = $CallStack[$CallStack.Count - 2];
        return $call.ScriptName;
    }


    throw "No PowerShell entry point script could be found.";
}