如何使用Chocolatey自动更新免费软件


您的计算机上已经安装了诸如Spotify,Adobe Reader,Chrome,Firefox,7-Zip,VLC Media Player等应用程序……列表还在继续,而且它们都是免费的。没有免费软件 怎么办?但是,这些应用程序需要频繁更新以修复安全漏洞并引入新的有用功能。更新永远不会在方便的时间发生。

这就是Chocolatey发挥作用的地方。使用免费的Chocolatey应用程序可以使您的软件保持最新。简单,快速,简单,我们提到免费了吗?看起来好得难以置信,但事实并非如此。但是什么是Chocolatey?

什么是Chocolatey?

如果您还没有在Windows命令行电源外壳 中做过任何事情,或Linux命令行 ,“巧克力味”的概念可能有点怪异。 Chocolatey是一个机器级别的程序,可以帮助您管理软件。

机器级别的意思是,没有图形用户界面可以帮助您执行操作。必须键入所有命令。不要让那吓到你!如果您会写单词,则可以掌握。

如何安装Chocolatey?

Chocolatey需要完成几项工作。当某个程序需要Windows功能的其他程序才能工作时,这些所需的程序称为依赖项。 Chocolatey的依赖关系是至少必须使用:

  • Windows 7或更高版本
  • PowerShell版本2或更高版本
  • .NET Framework 4或更高版本
  • 加号,您的计算机上必须有管理员权限
  • 如果您使用的是Windows 7或更高版本,则已经安装了PowerShell版本2或较新的。如果不确定是否具有.NET Framework 4,请不要担心。安装Chocolatey时,如果没有.NET 4,Chocolatey会为您安装。

    开始菜单的搜索框中输入PowerShell,打开PowerShell。您应该会看到名为Windows PowerShell App的结果。

    <图类=“ lazy aligncenter”>

    右键单击它,然后选择以管理员身份运行。这样做被称为在提升的实例中运行PowerShell。它与管理员的特权有关。将打开PowerShell窗口。

    在PowerShell窗口中,键入或复制并粘贴命令:

    Set-ExecutionPolicy Bypass -Scope Process -Force; iex((New-ObjectSystem.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

    Set-ExecutionPolicy绕过-Scope Process -Force部分告诉PowerShell您不想只为接下来的事情强制执行受限的执行策略。默认情况下,PowerShell仅允许运行签名的进程。这是最高的安全设置。但是我们需要运行安装Chocolatey的未签名过程。

    iex((New-ObjectSystem.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1') )该命令的一部分告诉PowerShell转到Chocolatey网站,下载install.ps1脚本并运行它。这就是真正安装巧克力的部分。

    您会看到一堆文字。随时返回并阅读它,以便您了解发生了什么。最后,它建议您运行命令choco /?以查看功能列表。这是确保您的安装正常运行的好方法。继续并运行该命令。

    另一堆文本将通过,这也很容易阅读和理解。最后,如果您可以安装Chocolatey,那么您将看到类似以下内容的绿色部分,其中列出了您刚安装的版本。

    <图class =“ lazy aligncenter”>

    使用Chocolatey安装软件

    让我们快速了解如何使用Chocolatey安装软件。

    转到页面https://chocolatey.org/packages 浏览Chocolatey上可用的软件。您会看到它们被称为包。

    <图类=“ lazy aligncenter”>

    找到您要安装的软件包。在此示例中,我们将使用Malwarebytes反恶意软件。总是在计算机上安装Malwarebytes很高兴

    在PowerShell的提升实例中,使用命令chocoinstall恶意软件字节。而已。安装将开始。它将以以下文本停止:

    <图类=“ lazy aligncenter”>

    如果您愿意让Chocolatey管理软件,那么在完成此安装后,我们应该使用choco featureenable -n allowGlobalConfirmation命令,以便将来自动执行安装和更新。现在,让我们只使用A完成安装。

    您会看到Malwarebytes正在下载,然后开始安装。

    大约一分钟后,将下载并安装Malwarebytes,而无需进行任何其他工作。

    使用Chocolatey更新软件

    现在我们已经安装了一些软件,我们可以尝试使用Chocolatey更新它。同样,您需要以管理员身份打开PowerShell。然后,您可以运行命令choco upgrade恶意软件字节

    这会让Chocolatey出去看看是否有更新,然后再进行更新。我们刚刚安装了Malwarebytes,因此它将显示零更新一个软件包。没关系。

    <图class =“ lazy aligncenter”>

    如果已安装了Chocolatey的几个软件包,则可以通过单行命令将其全部更新:choco upgrade all -y

    <图class =“ lazy aligncenter”>

    得到。现在我们必须要做的是使用Chocolatey自动更新软件可以使该命令按计划运行。

    使用Chocolatey自动更新软件

    下一步,您可以使用枯萎的记事本或PowerShellISE(集成脚本环境)进行操作。由于并非所有Windows版本都具有PowerShell ISE,因此我们将使用记事本进行此示例。

    打开记事本。将命令choco upgrade all -y复制到记事本中。

    <图class =“ lazy aligncenter”>

    将其另存为PowerShell脚本通过将其命名为upgrade-ChocoPackages.ps1。 .ps1扩展名告诉Windows这是一个PowerShell脚本。

    将文件类型从“ 文本文档(* .txt)”更改为“ 所有文件(*。*)”。如果没有,Windows会将其设置为upgrade-ChocoPackages.ps1 .txt,并认为它只是一个记事本文件。

    <图class =“ lazy aligncenter”>

    Windows带有一项称为Task Scheduler的强大功能。普通家庭用户可能不会这样做。尚不知道,但是Task Scheduler的功能已经使很多事情定期运行。

    在Task Scheduler的“开始”菜单中搜索。结果出现时单击它。

    <图类=“ lazy aligncenter”>

    打开“任务计划程序”时,单击窗口左上方区域中的任务计划程序库。这将显示您计算机上当前设置的所有计划任务。

    在右上方区域的操作窗格中,单击创建任务…。创建基本任务不适用于这种情况,因为稍后我们将使用参数语句。

    <图类=“ lazy aligncenter”>

    在打开的窗口的常规标签中,为任务命名,例如全部升级然后使用说明更新Chocolatey安装的所有软件。如果您当前的用户帐户不是计算机上的管理员帐户,请使用更改用户或组按钮选择管理员帐户。

    您还需要知道管理员帐户的密码。确保选择运行用户是否已登录。即使您不在计算机上,这也将允许脚本运行,并且脚本将具有执行该工作所需的所有特权。

    <图class =“ lazy aligncenter”>

    触发器标签是您告诉任务何时运行的地方。为此,每周一次应该足够。在我们的示例中,它设置为在每个星期日的凌晨1:00运行。选择一个不太可能使用计算机的时间,以获得最佳性能。

    如果任务的执行时间超过以下时间,建议还选中停止任务,并将持续时间更改为2小时。您可以根据需要进行调整。要应用触发器,必须选中底部的Enabled框。

    转到“ 操作”标签,我们将告诉任务我们要执行的操作。 操作将默认为启动程序。这就是我们想要的,因此,请保留该内容。在程序/脚本字段中,键入powershell.exe。这样一来,Windows就会知道您将要运行PowerShell脚本。

    <图class =“ lazy aligncenter”>

    添加参数字段,输入以下参数。

    -noprofile–这可以阻止PowerShell配置文件脚本运行,并告诉它只运行所需的脚本。

    -ExecutionPolicy绕过–如果不确定脚本执行是否已启用,则最好将其包含在参数中。

    -文件–这是一个参数,它告诉TaskScheduler接下来要执行的操作是我们希望PowerShell运行的文件的路径。在我们的示例中,脚本已保存到C:\ Scripts \ upgrade-ChocoPackages.ps1。您的计算机上的脚本可能有所不同,因此请进行相应调整。如果路径上的文件名中包含空格,则需要将整个路径放在引号内。

    完整参数将类似于-noprofile-executionpolicy旁路-file C: \ Scripts \ upgrade-ChocoPackages.ps1

    条件选项卡上,我们可以设置更多有关脚本运行方式的选项。查看他们,看看您想申请哪些。对于此示例,它设置为仅在计算机使用交流电源时启动任务,并如果计算机切换为电池电源则停止,以确保我们不会耗尽电池。

    唤醒计算机以运行此任务,以确保任务运行,无论计算机是否处于睡眠模式。

    设置标签中,建议进行检查允许任务按需运行框,以便我们可以在完成后手动测试任务。其余的默认选择很好。

    单击确定以完成计划任务的创建。 Awindow应该弹出,并在Generaltab上重新显示您选择的用户名。您必须输入用户的密码,然后单击确定。这说明实际上,您所拥有的Windows有权运行该任务。

    <图class =“ lazy aligncenter”>

    现在您回来了到“任务计划程序”主窗口。查找新任务。右键单击任务,然后选择运行进行测试。

    <图class =“ lazy aligncenter”>

    您不会看到除了任务状态将更改为正在运行以外,所有重大事件均会发生。一分钟左右,您应该会看到上次运行时间也已更改为开始运行任务时的时间戳。

    如果未收到任何错误消息,则该任务应该很好。关闭“任务计划程序”窗口,不必担心需要再次手动更新与Chocolatey一起安装的任何软件。

    全部完成!

    似乎要做很多工作设置这个。考虑一下:您花了10到30分钟的时间进行设置。如果您使用它来更新10个程序,并且每个程序每个月大约需要6分钟来完成更新过程,则可以节省30至50分钟。

    您已经节省了时间。在一年的时间里,可以节省6到10个小时的时间。这不包括通过知道如何使用Chocolatey在一两分钟而不是10或15分钟内安装程序所节省的时间。

    相关文章:


    5.07.2019