查看 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
专用 PowerShell 库
可以通过创建自己的 NuGet 源为组织实现专用 PowerShell 库。 可以使用文件共享或基于 Web 的应用程序创建 NuGet 源。 若要注册 NuGet 源,请使用 Register-PSRepository cmdlet 并指定源位置。 注册存储库后,用户可以搜索它,就像PowerShell 库一样。
补充阅读:有关创建 NuGet 源的详细信息,请参阅托管自己的 NuGet 源。