Public/Invoke-ExpandZipArchive.ps1

function global:Invoke-ExpandZipArchive
{
        <#
            .EXTERNALHELP HelperFunctions.psm1-Help.xml
        #>

    
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory = $true,
                 ValueFromPipeline = $true,
                 HelpMessage = 'Name of archive file to expand.')]
        [String]$ZipFileName,
        [Parameter(Mandatory = $true,
                 ValueFromPipeline = $true,
                 HelpMessage = 'Name of directory to decompress archive into.')]
        [String]$DestinationDirectory
    )
    
    begin
    {
        $Net45Check = Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | ForEach-Object { $_ -ge 378389 }
        if ($Net45Check)
        {
            Add-Type -AssemblyName "System.IO.Compression", "System.IO.Compression.FileSystem"
        }
        else
        {
            Write-Warning ".NET 4.5 or later is required. Please install a compatible version before attempting further operations."
        }
    }
    process
    {
        [System.IO.Compression.ZipFile]::ExtractToDirectory($ZipFileName, $DestinationDirectory)
    }
    end
    {
        
    }
} #End function Invoke-ExpandZipArchive