Изменилось ли поведение амперсанда в Powershell 3.0?

#powershell #nuget #powershell-3.0 #chocolatey

#powershell #nuget #powershell-3.0 #шоколадный

Вопрос:

Я получил следующую ошибку при установке windirstat и ilmerge на Chocolatey. Я подозреваю, что поведение амперсанда изменилось в PowerShell 3.0.

 Running powershell -NoProfile -ExecutionPolicy unrestricted -Command "amp; import-module -name  'C:NuGetchocolateyInstallhelperschocolateyInstaller.psm1'; amp; 'C:NuGetlibilmerge.2.10.526.4toolschocolateyInstall.ps1'". This may take awhile and permissions may need to be elevated, depending on the package.
ilmerge did not finish successfully. Boo to the chocolatey gods!
-----------------------
[ERROR] The expression after 'amp;' in a pipeline element produced an invalid object. It must result in a command name, script block or Command
Info object.
-----------------------
  

Ответ №1:

Проблема заключалась не в поведении амперсанда, которое мне пришлось заменить $oc = Get-Command 'Write-Host' | ?{$_.ModuleName -eq 'Microsoft.PowerShell.Utility'} на $oc = Get-Command 'Write-Host' -Module 'Microsoft.PowerShell.Utility' , а также выполнить аналогичную замену для оболочки ошибки записи.

Ответ №2:

Как насчет запуска PowerShell с параметром -version 1.0 или 2.0? Затем запустите приведенную выше команду и посмотрите, есть ли какая-либо разница.

В командной строке

PowerShell -версия 2.0