Почему командлет Uninstall-ChocolateyPackage не распознается?

Я пытаюсь запустить скрипт PowerShell для удаления owncloud-client с моей виртуальной машины Windows 10. Показанный ниже код можно найти по адресу

https://chocolatey.org/packages/owncloud-client (tools\chocolateyUninstall.ps1)

Я хотел бы просто протестировать код, запустив его из PowerShell, чтобы увидеть, действительно ли он удаляет программное обеспечение.

$unfile = "ownCloud\uninstall.exe"

if (Test-Path "${Env:ProgramFiles(x86)}\$unfile") {
  $unpath = "${Env:ProgramFiles(x86)}\$unfile"
} else {
  $unpath = "${Env:ProgramFiles}\$unfile"
}

Uninstall-ChocolateyPackage 'owncloud-client' 'exe' '/S' "$unpath"

Я запускаю скрипт из каталога, в котором он содержится, набрав:

.\chocolateyUninstall.ps1

В качестве вывода я получаю следующую ошибку:

Uninstall-ChocolateyPackage  is not recognized as the name of cmdlet, function, script file, or operable program.

Пакет Uninstall-ChocolateyPacakge.ps1 предоставляется компанией Chocolatey. Я проверил на своей машине, и этот пакет присутствует в:

C:\ProgramData\chocolatey\helpers\functions\Uninstall-ChocolateyPackage.ps1

но powershell не распознает его как командлет. Как я могу решить эту проблему? Благодарность


person diegus    schedule 22.02.2016    source источник
comment
Я вообще не знаком с этим, поэтому я рекомендую вам указать более подробную информацию в своем вопросе. Что вы пытаетесь запустить? Uninstall-ChocolateyPackage? Или Uninstall -ChocolateyPackage?   -  person slybloty    schedule 22.02.2016
comment
Пробовал оба, ни один не работает. Должно работать Uninstall-ChocolateyPackage   -  person diegus    schedule 22.02.2016
comment
Меня очень и очень сбивает с толку, какие шаги вы предпринимаете, какие сценарии вы запускаете и какие дают вам ошибки.   -  person slybloty    schedule 22.02.2016
comment
@slybloty проверьте правку. Я запускаю весь сценарий, который я опубликовал, и получаю сообщение об ошибке, которое вы видите ниже.   -  person diegus    schedule 22.02.2016
comment
Ошибка говорит вам, что Uninstall-ChocolateyPackage нигде не определен. Разве вы не должны управлять chocolateyUninstall? Опять же, вам нужно лучше объяснить, что вы делаете. Что такое Uninstall-ChocolateyPackage? И где это?   -  person slybloty    schedule 22.02.2016
comment
@slybloty проверьте правку   -  person diegus    schedule 23.02.2016


Ответы (2)


При запуске сценариев установки/удаления Chocolatey сначала включает модуль Chocolatey PowerShell. Это делается в фоновом режиме, и обычно конечному пользователю не нужно об этом беспокоиться.

Для того, что вы пытаетесь сделать, вам нужно сначала выполнить Import-Module в модуле Chocolatey, чтобы перенести его в текущий сеанс PowerShell. Вы можете найти это здесь:

старый: C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1

новый: C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1

Это должно позволить вам протестировать скрипт напрямую.

В качестве альтернативы вы можете запустить установку пакета, а затем запустить удаление, чтобы проверить, работает ли он.

person Gary Ewan Park    schedule 23.02.2016
comment
На случай, если кто-нибудь найдет это через Google, путь теперь обновлен до C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1. - person Sumo; 06.07.2016

Благодаря новейшим инструментам модерации вам не нужно проверять каждый пакет (я имею в виду, если только это не заставляет вас чувствовать себя в большей безопасности). Вы всегда можете проверить автоматические тесты. Справа от названия пакета есть точка статуса.

введите здесь описание изображения

Вы можете найти резюме теста

owncloud-client v2.1.1.5837 - Пройдено - Результаты тестирования пакета

https://chocolatey.org/packages/owncloud-client/2.1.1.5837 Протестировано 10 фев. 2016 12:51:22 +00:00 Протестировано на win2012r2x64 (Windows Server 2012 R2 x64) Протестировано с последней версией choco, возможно, бета-версией. Протестировано с помощью сервиса Chocolatey-Package-Verifier v0.4.0-15-g979d0cc. Установка прошла успешно. Удаление прошло успешно.

https://gist.github.com/choco-bot/45f343e23cc12e101130#file-_summary-md

или изучите журнал удаления напрямую.

https://gist.github.com/choco-bot/45f343e23cc12e101130#file-uninstall-txt

person Anthony Mastrean    schedule 24.02.2016
comment
И, если вы действительно заинтересованы, вы можете использовать локальную версию верификатора пакетов отсюда: github.com/chocolatey/chocolatey-test-environment - person Gary Ewan Park; 25.02.2016
comment
ПРИМЕЧАНИЕ. В настоящее время средство проверки пакетов не проверяет пакеты при ошибках во время удаления, а только при установке. Однако в какой-то момент это изменится. - person Gary Ewan Park; 25.02.2016