当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

作者:精品下载站 日期:2024-12-14 06:23:00 浏览:15 分类:玩电脑

如何从 nupkg 离线安装 PowerShell 模块?


[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

PowerShell 模块允许您通过将各种 cmdlet、函数、变量等捆绑到单个包中来轻松扩展 PowerShell 的功能。模块对于自动化管理任务、编写工作流程脚本以及提高系统管理员的工作效率非常有用。

虽然大多数 PowerShell 模块是通过在线 PowerShell Gallery 存储库分发的,但有时您可能需要在没有 Internet 连接的隔离离线环境中工作时设置模块。在处理政府机构或金融机构等安全环境时,经常会出现离线 PowerShell 模块安装。

在本综合指南中,我们将探索从 .nupkg 文件或提取的文件夹结构以离线模式安装 PowerShell 模块的分步方法。无论您是初学者还是经验丰富的 PowerShell 脚本编写者,本指南都旨在提供适合各个级别的详细说明。

先决条件

在深入了解离线安装过程之前,让我们首先介绍一些先决条件:

  • 访问具有互联网连接的计算机以下载模块包
  • 两台计算机上均安装了 PowerShell 5.1 或更高版本
  • 源计算机和目标计算机之间的 USB/网络连接,用于复制脱机包
  • 在离线计算机上安装模块的管理权限

现在满足了所有先决条件,让我们继续实际的离线安装过程。

方法 1 - 从 .nupkg 安装模块

此方法适用于所有 PowerShell 模块,例如 SharePoint Online、Azure AD、Active Directory、Exchange Online、Microsoft Teams、SQL Server、PnP 等。您需要首先将实际的 PowerShell 模块文件下载到目标离线系统上。确保压缩的 .nupkg 文件在您要安装模块的目标离线系统上可用。如果需要,使用 USB 驱动器将其复制到该系统。

关键步骤是:

  1. 从在线计算机查找并下载模块 .nupkg
  2. 通过 USB 或网络共享将它们传输到离线计算机
  3. 使用 Install-Module 安装模块,以从本地 .nupkg 文件安装每个模块

第1步:下载.NUPKG包

NuGet 包格式最常用于通过 PowerShell Gallery 等存储库分发模块。

  1. 打开 PowerShell Gallery,https://www.powershellgallery.com,然后搜索特定的 PowerShell 模块,例如 SQL Server、Microsoft Teams 等。
  2. 从 PowerShell 库下载 PowerShell 模块的 .nupkg 文件。

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

步骤 2:创建受信任的本地存储库(如果尚未创建)

下一步,我们需要将本地文件夹注册为受信任的存储库。要获取现有受信任模块存储库的列表,请键入:


Get-PSRepository

这将为您提供 PowerShell 环境的可信存储库。

为本地存储库创建一个新文件夹并注册它。您将在此处复制 Nupkg 文件。


Register-PSRepository -Name LocalPackages -SourceLocation C:\NuPkg -InstallationPolicy Trusted

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

步骤3:传输模块包

收集完所有必要的 PowerShell 模块 .nupkg 文件后,您需要将它们传输到您在上一步中创建/识别的离线计算机的本地存储库。可以使用 USB 驱动器复制文件,也可以将文件复制到离线计算机可以访问的共享网络位置。

步骤 4:从本地文件夹安装模块

最后一步,直接从 .nupkg 文件安装模块,无需任何互联网访问:

  1. 在离线系统上使用提升的用户权限启动 PowerShell(以管理员身份运行)
  2. 导航到包含 .nupkg 文件的文件夹位置
  3. 运行 Install-module cmdlet 以从本地 .nupkg 文件安装模块:

Install-Module SQLServer -Scope AllUsers -Force

该 cmdlet 将在本地系统上安装所有模块内容和依赖项,并适当放置模块文件:

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

您还可以使用 Install-Package cmdlet:


Install-Package -Name <ModuleName> -Source <repository-path> 
# For example:
PS C:\>Install-Package -Name SQLServer -Source "C:\NuPkg"

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

  1. 确认安装:安装后,确认导入和功能:

Get-Module SQLServer

Get-Command -Module <ModuleName>

如果您已经拥有 .nupkg 文件,此方法提供了一种简单的以 PowerShell 为中心的方法,无需互联网即可安装模块。

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

更新和删除模块

要更新或删除离线安装的模块,请将更新的软件包下载到离线计算机,然后重新运行 Install-Package 命令来安装较新版本或 Uninstall-Package 命令将其删除。

方法 2 - 从提取的文件夹中手动安装模块

或者,如果您有压缩文件夹或提取文件布局形式的模块内容,则可以选择手动安装 PowerShell 模块。

简而言之,使用连接互联网的计算机从 PowerShell Gallery 下载模块,并使用安全方法将文件传输到离线计算机的模块目录。

第 1 步:将模块下载到具有 Internet 连接的计算机

当我们需要离线安装 PowerShell 模块时,首先从在线源找到并下载正确的版本及其依赖项至关重要。让我们看看如何使用 Find-Module 来定位这些模块,并使用 Save-Module 下载它们以供离线使用。

请按照以下步骤从提取的模块文件夹中进行手动安装:

  1. 在具有 Internet 连接的系统上以提升的权限启动 PowerShell
  2. 从 PowerShell 库中查找模块

Find-Module -Name SQLServer
  1. 使用“Save-Module”cmdlet 将模块下载到指定文件夹。在示例中,我将目标指定为“C:\Temp”

Save-Module -Name SQLServer -Path "C:\Temp"

这会将所有导出的 cmdlet 和函数下载到指定目录中的子文件夹中。

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

步骤 2:将模块传输到离线计算机

首先,必须将下载的模块放入 PowerShell 识别的适当目录中。将下载的文件夹(在本例中为“C:\Temp”中的“SQLServer”)复制到目标计算机的文件夹:“C:\Program Files\WindowsPowerShell\Modules”。

[玩转系统] 如何从 nupkg 离线安装 PowerShell 模块?

重新启动 PowerShell 控制台,您将能够使用特定模块的 cmdlet。

虽然手动安装需要更多的工作,但当您有一组松散的模块文件夹时,它提供了灵活性。可以在中央模块位置下适当地重新创建文件夹结构。

在本文中,您了解了在没有 Internet 连接的情况下以离线模式安装 PowerShell 模块的两种不同方法。通过使用包管理工具或手动移动模块内容,您现在可以轻松地为隔离环境设置模块。

要确保的关键是您可以在本地以 .nupkg 文件或提取的文件夹形式获取 PowerShell 模块内容、最新的 PowerShell 版本以及适当的脚本执行策略。

当使用无法直接访问互联网的系统时,更新或安装 PowerShell 模块可能是一个挑战。正如您所看到的,离线模块部署可能需要一些额外的工作,但这是完全可以实现的。这使得您的自动化脚本和工具在安全环境中工作时可以独立于互联网连接限制。

因此,下次您需要在隔离网络上使用该实用程序 PowerShell 模块时,不要让缺乏互联网阻止您!只需使用其中一种离线安装技术,即可使用强大的模块增强您的 PowerShell 脚本。

经常问的问题:

如何在没有互联网连接的计算机上安装 PowerShell 模块?

要离线安装 PowerShell 模块,您需要使用连接互联网的计算机从 PowerShell 库下载模块,使用安全方法将文件传输到离线计算机,然后使用“导入模块”将其安装在目标上电脑。

为什么我需要离线安装 PowerShell 模块?

在计算机无法连接到 Internet 的安全环境、隔离网络或安全协议阻止从 PowerShell 库直接下载的情况下,需要离线安装。

离线安装PowerShell模块的先决条件是什么?

您需要 PowerShell 5.1 或更高版本、PowerShellGet 和 PackageManagement 工具,以及要安装模块的计算机上的管理权限。

我可以使用什么 cmdlet 下载 PowerShell 模块以进行离线安装?

您可以使用“Save-Module”cmdlet 将所需的模块从 PowerShell 库下载到连接互联网的计算机上。

如何将下载的 PowerShell 模块转移到离线计算机上?

使用安全方法(例如 USB 驱动器或安全网络共享)传输模块,确保您遵循文件安全性和完整性的最佳实践。

如何调整执行策略以允许离线安装 PowerShell 模块?

使用“Set-ExecutionPolicy”cmdlet 更改执行策略设置,允许安装和使用从互联网下载的模块。

如何验证 PowerShell 模块是否已成功离线安装?

运行“Get-Module -ListAvailable”以列出已安装的模块,并尝试从该模块执行 cmdlet 以确保其正常运行。

如何在离线计算机上安装和导入 PowerShell 模块?

将 PowerShell 模块复制到“C:\Program Files\WindowsPowerShell\Modules”后,您可以使用“Import-Module -Name ModuleName”将该模块导入到 PowerShell 会话中。将“ModuleName”替换为模块文件夹的实际名称。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯