functions/filesystem/Get-NewestItem.ps1

function Get-NewestItem {
        [CmdletBinding()]
    param (
        [Parameter(Mandatory)]
        [string]$Path,

        [string]$Filter = '*',

        [ValidateSet('File', 'Directory')]
        [string]$Type = 'File',

        [switch]$Recurse,

        [int]$First = 1
    )

    if ($Type -eq 'File') {
        $items = Get-ChildItem -Path $Path -Filter $Filter -File -Recurse:$Recurse
    } else {
        $items = Get-ChildItem -Path $Path -Filter $Filter -Directory -Recurse:$Recurse
    }

    return $items | Sort-Object LastWriteTime -Descending | Select-Object -First $First
}