Por fin después de mucho batallar ya hallamos la solución de esta cuestión que muchos lectores de este sitio web han tenido. Si quieres compartir algún detalle no dejes de aportar tu conocimiento.
Write-Zip
parece ser parte de http://pscx.codeplex.com/ que requiere una instalación separada antes de poder usarlo.
Sin embargo, si solo desea crear un archivo Zip desde una carpeta, puede ejecutar
$source = "c:tempsource"
$archive = "c:temparchive.zip"
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($source, $archive)
Esto utiliza el CreateFromDirectory
método de la clase .NET Framework ZipFile
. Crea un archivo zip a partir de los archivos ubicados dentro del $source
carpeta y crea un archivo como se define en el $archive
variable. Tenga en cuenta que la clase ZipFile se introdujo en .NET Framework 4.5
Puede usar un objeto PowerShell personalizado New-Object -ComObject Shell.Application
y copie el archivo con banderas para descomprimir.
$filePath = "foo.zip"
$shell = New-Object -ComObject Shell.Application
$zipFile = $shell.NameSpace($filePath)
$destinationFolder = $shell.NameSpace("C:Program FilesWindowsPowerShellModules")
$copyFlags = 0x00
$copyFlags += 0x04 # Hide progress dialogs
$copyFlags += 0x10 # Overwrite existing files
$destinationFolder.CopyHere($zipFile.Items(), $copyFlags)
Fuente de crédito https://github.com/hashicorp/best-practices/blob/master/packer/scripts/windows/install_windows_updates.ps1#L12-L22
Esto no funciona con la edición ‘core’ de Windows. Si es posible, actualice a powershell 5 y use Expand Archive
ya que es mucho más sencillo.
Sección de Reseñas y Valoraciones
Recuerda algo, que te permitimos aclarar si te fue de ayuda.