Public/Invoke-CreateZipFile.ps1
function global:Invoke-CreateZipFile { <# .EXTERNALHELP HelperFunctions.psm1-Help.xml #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [String]$CompressedFileName, [Parameter(Mandatory = $true)] [String]$FileToCompress, [Parameter(Mandatory = $true)] [String]$EntryName, [Parameter(Mandatory = $true)] [String]$ArchiveMode ) begin { switch ($ArchiveMode) { "Create" { $objCompressedFile = [System.IO.Compression.ZipFile]::Open($CompressedFileName, [System.IO.Compression.ZipArchiveMode]::Create) } "Read" { $objCompressedFile = [System.IO.Compression.ZipFile]::Open($CompressedFileName, [System.IO.Compression.ZipArchiveMode]::Read) } "Update" { $objCompressedFile = [System.IO.Compression.ZipFile]::Open($CompressedFileName, [System.IO.Compression.ZipArchiveMode]::Update) } } } process { $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal $archiveEntry = [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($objCompressedFile, $FileToCompress, $EntryName, $compressionLevel) $objCompressedFile.Dispose() } end {} } #End function Invoke-CreateZipFile |