我该如何安装PSCX Powershell模块?

15

我正在运行安装了PowerShell 2的Windows 7。

我已从这里下载了2.1版本:http://pscx.codeplex.com/releases

发行说明如下:

  • 解除 zip 文件的阻止 - {我已经完成}
  • 将 ZIP 文件的内容提取到 $env:Home\Documents\WindowsPowerShell\Modules 文件夹中

我不确定 $env:Home 是什么,因此通过一些搜索发现,发行说明期望存在称为“Home”的环境变量,但我的计算机上没有此环境变量。

更多搜索显示应使用在我的计算机上定义为~的内容。所以我在 PS 提示符下运行cd ~

在我的计算机上,这导致一个网络驱动器U:

我创建了以下目录U:\Documents\WindowsPowerShell\Modules并将提取的 Pscx-2.1.0复制到Modules文件夹中。打开 PowerShell 提示符并键入Get-Module -ListAvailable。这没有在结果中给出Pscx。

上述步骤实际上给了我这个文件夹树U:\Documents\WindowsPowerShell\Modules\Pscx-2.1.0\Pscx-2.1.0

因此,我将文件复制到了一个级别并尝试使用U:\Documents\WindowsPowerShell\Modules\Pscx-2.1.0\以及 U:\Documents\WindowsPowerShell\Modules\Pscx\再次尝试。

我还尝试了上述所有内容的路径U:\WindowsPowerShell\Modules\Pscx-2.1.0\

我猜这些模块实际上不应该在此目录中,所以更多的搜索导致了这个命令:(Get-ChildItem Env:\PSModulePath).Value

它给出了以下结果:

C:\Users\my.name\Documents\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\是一个包含模块的路径列表。

所以我将Pscx-2.1.0文件夹复制到这里 C:\Users\my.name\Documents\WindowsPowerShell\Modules\Pscx-2.1.0

但仍然没有成功。

我漏掉了哪一步?

5个回答

12

我实际上没有完全完成我上面的问题的最后一步,结果这就是答案。

以下是完整的答案:

  • 取消阻止你下载的zip文件
  • 解压缩zip文件 - 很可能会得到一个文件夹结构:Pscx-2.1.0/Pscx-2.1.0/{许多文件}
  • 将子文件夹重命名为Pscx - 即 - Pscx-2.1.0/Pscx/{许多文件}
  • 在PowerShell提示符下运行(Get-ChildItem Env:\PSModulePath).Value并注意模块文件夹位置。
  • Pscx文件夹复制到上面给出的模块文件夹位置。
  • 在PowerShell提示符下运行Get-Module -ListAvailable以查看可用的Pscx模块。

只需将 pscx 文件夹添加到 Modules 文件夹中,一切都可以正常工作。 - Muhammad Mubashir
另一个答案 - 使用 find-package 更简单。 - mikemaccana

9
在 PowerShell 5.0 中,您可以执行以下操作:
Find-Package pscx | ? ProviderName -eq PSModule | Install-Package -Force
< p > -Force 参数会在已安装旧版本的情况下进行升级。

PowerShell 5.1中,您需要:

Find-Package pscx | ? ProviderName -eq PowerShellGet | Install-Package -Force

或者

Find-Package pscx -ProviderName PowerShellGet | Install-Package -Force

或者只是
Install-Package pscx -Force

这对我没有影响,它只是静默运行。它被安装到 C:\Program Files (x86)\PowerShell CommunityExtensions\Pscx3\Pscx 但我无法真正使用它。 - villasv
在PowerShell 5.1中,您需要使用Find-Package pscx | ? ProviderName -eq PowerShellGet | Install-Package -Force或Find-Package pscx -ProviderName PowerShellGet | Install-Package -Force。 - Camilo Estevez

4

只需运行

choco install pscx

查看chocolatey.org获取使用choco命令的单行代码。

请记住,在运行命令之前,您可能仍需要在脚本中调用此命令:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser #allows scripts to run from the interwebs, such as pcsx

这个不再起作用,因为 pscx 已从软件包列表中删除并隐藏。请参阅 https://chocolatey.org/packages/pscx 了解详情。 - Camilo Estevez

2

更新:看起来 PsGet 已不再维护,但仓库仍可在 Github 上获得。

你也可以使用 PsGet 轻松搜索和安装 PowerShell 模块。

你可以浏览所有模块来检查哪些模块已添加到 PsGet 中:

> Get-PsGetModuleInfo *

或者特别定位到这一个:

> Get-PsGetModuleInfo pscx

然后,您可以根据这些信息安装:
> Install-Module pscx

奇怪的是这个方法可行,但从 choco 安装却不行。 - villasv

0

2
这个答案完全依赖于一个外部链接。如果该链接失效,答案将变得无用。所以请编辑您的帖子,并至少添加一个提议解决方案的摘要。谢谢! - Fabio says Reinstate Monica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接