在PowerShell中使用Chocolatey辅助函数

时间:2018-09-10 12:55:50

标签: powershell chocolatey

Chocolatey helper functions旨在用于Chocolatey程序包脚本。

  

注意:这些脚本用于程序包脚本,不能直接用于   电源外壳。这是在“创建软件包”部分中,而不是在   巧克力部分。

尽管有一些有用的帮助器功能,例如 Install-ChocolateyPinnedTaskBarItem,我想在PowerShell控制台中尝试。

有什么方法可以在PowerShell控制台中运行这些帮助程序功能吗?

3 个答案:

答案 0 :(得分:1)

在大多数情况下,这些助手功能应该“正常”工作。您可以将Chocolatey PowerShell模块加载到当前的PowerShell会话中,并使用帮助程序功能。

实际上,实际上有一个Chocolatey Extension可以做到这一点,以帮助创建Chocolatey软件包:

https://chocolatey.org/packages/chocolateypowershell

但是,应该注意的是,在执行Chocolatey本身时,可能无法正确设置这些PowerShell函数中使用的某些变量和其他内容。执行后,Chocolatey实际上会创建它自己的PowerShell主机,并按照成功执行所需的方式进行设置。可能是直接加载PowerShell模块并没有设置使所有事物正常运行所需的一切。

话虽如此,简单的助手功能(例如您提到的Install-ChocolateyPinnedTaskBarItem)应该可以正常工作。

答案 1 :(得分:0)

是的,我也想在PowerShell控制台中测试一些有用的帮助程序功能。

对于我们要尝试做的事情,您首先需要在Chocolatey模块上执行Import-Module,以将其带入当前的PowerShell会话中。您可以在这里找到:C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1

Import-Module C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1       

这应该使您可以直接测试脚本以及所有其他Chocolatery Helpers Reference

另一种替代方法是安装chocolateypowershell,您可以运行软件包的安装,然后运行Chocolatey Helper函数以查看其是否也正常运行。 https://chocolatey.org/packages/chocolateypowershell

答案 2 :(得分:0)

您要导入的内容位于文件中 C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1

但这可能还取决于用户-某人可能会覆盖Chocolatey安装并将其放置在其他文件夹中。

但是您只想在必要时使用相同的辅助函数,否则就不使用。

您可以在.ps1脚本的开头使用以下脚本:

if( -not ( get-command Install-ChocolateyPackage -erroraction silentlycontinue ) ) {
    Write-Host "Importing chocolateyInstaller.psm1..."
    Import-Module C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1 #-Verbose
}

在这里,我正在检查功能Install-ChocolateyPackage是否已经导入-如果尚未导入,则通过默认路径导入。

在不需要的地方删除Write-Host#- Verbose的评论。