我正在尝试运行PowerShell脚本以从我的Windows 10虚拟机中卸载owncloud-client
。下面的代码可以在
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"
我通过typying:
从包含它的目录运行脚本.\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识别为cmdlet。我怎么解决这个问题?感谢
答案 0 :(得分:3)
运行安装/卸载脚本时,Chocolatey首先包含Chocolatey PowerShell模块。这是在后台完成的,通常,最终用户无需担心它。
对于您要执行的操作,您需要首先在Chocolatey模块上执行Import-Module
,以将其带入当前的PowerShell会话。你可以在这里找到:
C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1
这应该允许您直接测试脚本。
或者,您可以运行安装包,然后运行卸载以查看它是否也能正常工作。
答案 1 :(得分:1)
使用最新的审核工具,您无需检查每个包装(我的意思是,除非它让您感觉更安全)。您始终可以检查自动化测试。包标题右侧有一个状态点。
您可以找到测试摘要
owncloud-client v2.1.1.5837 - 通过 - 包测试结果
https://chocolatey.org/packages/owncloud-client/2.1.1.5837 测试2016年2月10日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