查看 Windows PowerShell 中的 PowerShellGet 模块

已完成

PowerShellGet 模块包括用于访问和发布 PowerShell 库 中项目的 cmdlet。 本模块在 Windows Management Framework 5.1 中引入,该框架包含在Windows 10和Windows Server 2016中。 Windows PowerShell 5.1 随 PowerShellGet 版本 1.0.0.1 一起提供,必须对其进行更新,然后才能可靠地将其用于PowerShell 库。 Windows PowerShell 5.1 的当前支持版本为 PowerShellGet 2.2.5。

注释

PowerShell 7.4 及更高版本附带 Microsoft。PowerShell.PSResourceGet — PowerShellGet 的下一代后续版本。 它通过更新的 cmdlet(如 Find-PSResource 和 Install-PSResource)提供相同的核心功能。 PSResourceGet 还可用于 PowerShell 库 中的 Windows PowerShell 5.1。

首次使用 PowerShellGet 模块中的 cmdlet 时,系统会提示你安装 NuGet 提供程序。 NuGet 是一个包管理器,可以在 Windows 上获取和安装包。 PowerShellGet 模块中的 cmdlet 使用 NuGet 中的功能与 PowerShell 库进行交互。

下表列出了用于在 PowerShell 库中查找内容的两个最常见 cmdlet。

表 1:用于在 PowerShell 库中查找内容的 Cmdlet

Cmdlet 说明
Find-Module 使用此 cmdlet 在 PowerShell 库中搜索 Windows PowerShell 模块。 最简单的方法是按模块名称进行搜索,但也可以按命令名称、版本、DscResource 和 RoleCapability 进行搜索。
Find-Script 使用此 cmdlet 在 PowerShell 库中搜索 Windows PowerShell 脚本。 最简单的方法是按脚本名称进行搜索,但也可以按版本进行搜索。

补充阅读:还可以在 PowerShell 库中搜索模块和脚本。

TLS 1.2

PowerShell 库 需要使用传输层安全 (TLS) 1.2 以增强通信的安全性。 默认情况下,Windows 10 和 Windows Server 2016 不支持在 Windows PowerShell 中使用 TLS 1.2。 若要下载PowerShell 库内容,需要启用 TLS 1.2。

若要为当前 PowerShell 提示启用 TLS 1.2,请运行以下命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 

若要永久启用 TLS 1.2,请创建以下注册表项:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319'-Name 'SchUseStrongCrypto' -Value '1' -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

可以通过创建自己的 NuGet 源为组织实现专用 PowerShell 库。 可以使用文件共享或基于 Web 的应用程序创建 NuGet 源。 若要注册 NuGet 源,请使用 Register-PSRepository cmdlet 并指定源位置。 注册存储库后,用户可以搜索它,就像PowerShell 库一样。

补充阅读:有关创建 NuGet 源的详细信息,请参阅托管自己的 NuGet 源。