Как заставить Expand-Archive работать в Windows 2008R2 с помощью PowerShell 3.0?

Я изучаю возможность обновления нашей среды PowerShell до версии 3.0; в настоящее время у нас есть много сценариев, написанных для 2.0 на серверах Windows 2008R2. Я нахожу некоторые проблемы, которые могу легко обойти, но я обнаружил немного забавы с командлетом Expand-Archive, работающим в среде PowerShell 3.0 и dotnet 4.0.

Глядя здесь на CodePlex, я вижу следующий комментарий

После дальнейшего изучения команда Expand-Archive несовместима с dotnetframework 4.0 при работе в 64-разрядном сеансе PowerShell. чтобы выполнить эту команду в dotnet framework 4.0, убедитесь, что вы импортируете модуль в:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\Pscx 

Then the 32 bit powershell.exe can be invoked and the Expand-Archive command 
will run properly. This fix applies to windows 2008 R2 64 bit

Мне удалось заставить Expand Archive работать локально в Zip-файле, но при удаленном взаимодействии из другой среды PowerShell 3.0 я получаю следующую ошибку:

Expand-IHIArchive: Microsoft.PowerShell.Commands.WriteErrorException: Expand-IHIArchive:: в Expand-Archive произошла ошибка с параметрами: FlattenPaths = False; LiteralPath = \Deploys\Packages\POWERSHELL3\CodeReleasePackage.zip ; OutputPath =\Deploys\Packages\POWERSHELL3 ; PassThru = Истина ::

Есть ли способ заставить это работать? Или хотя бы выяснить с пульта, в чем проблема?


person MichaelF    schedule 16.09.2013    source источник


Ответы (1)


Я обошел это, добавив модули в свою среду, когда они загружаются, помещая весь каталог PSCX локально в мою собственную копию PowerShell, в основном я загружаю те модули PSCX, которые мне нужны, в зависимости от версии PowerShell. Это позволяет мне контролировать правильную версию и следить за правильной загрузкой модулей, не беспокоясь о модулях, установленных централизованно, и таким образом я могу легче настроить свои среды, упаковав все в структуру, которая мне нравится.

Это избавило меня от проблемы с расширением архива.

person MichaelF    schedule 26.11.2013