Добро пожаловать в SO!
Во-первых, это возможный дубликат Как создать zip-архив с PowerShell? - однако, я считаю, что у меня есть ответ, который немного лучше, так чтоЯ выложу его.
Я подозреваю, что сборка не загружается - это вопрос установленной платформы .NET, а не версии Powershell, FWIW.Возможно, вы хотели бы видеть здесь .
Ответ с наименьшим количеством ошибок - это, вероятно, сообщение Джеффа Хикса здесь .Если ссылка становится темной, я сокращаю ее до голых костей:
Set-Content $OutputPath ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
$ZipFile = Get-Item $OutputPath
$ZipFile.IsReadOnly = $false
$shell = New-Object -com shell.application
$zipPackage = $shell.NameSpace($zipfile.fullname)
$zipPackage.CopyHere($Path)
Для полноты вот эквивалентная расстегивающая молния:
$shell = new-object -com shell.application
$zip = $shell.NameSpace($Path)
foreach($item in $zip.items())
{
$shell.Namespace($Destination).CopyHere($item) | out-null
}
Извините за заглавную заглавную букву - она делаету меня болят глаза - но я уверен, что вы все сделаете, как вам захочется.
Если это хороший ответ, отметьте его как таковой;в противном случае, скажите мне, что сломалось, и я постараюсь улучшить это.