问题标签 [powershellget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
108 浏览

powershell - 使用 PowerShellGet 安装 PowerShell 模块后写入配置文件

我有一个带有两个 cmdlet 的自定义 PowerShell 模块。我成功地在我的机器上手动部署了它。但是,我通过将二进制文件和模块清单放在一个位置,然后注册模块来部署它。我还必须手动将Import-Module命令写入我的“所有用户”配置文件。

现在我确定我可以使用 部署此模块Publish-Module,但是如何Install-Module将语句写入Import-Module配置文件?

0 投票
1 回答
323 浏览

powershell - Publish-Module 失败并出现 NuGet.Build.Tasks.Pack.targets(198,5) 错误:索引超出了数组的范围

我已经升级到 dotnet sdk 3.1 版并正在尝试发布我的 powershell 模块。我正在使用 powershell 5.1。

我运行命令:

并得到错误:

有没有人有类似的问题并设法解决它?谢谢

0 投票
1 回答
695 浏览

powershell - Azure DevOps 代理上的 PowerShell 存储库问题

对不起,很长的帖子,但我真的很困惑,希望有人能提供帮助。我来来回回了很多次,我遇到了很多与 PowerShell 存储库和 Azure DevOps 代理有关的问题。

最终目标是将某些 PowerShell 模块的最新版本安装为管道的一部分。

我编写了各种 PowerShell 模块,将它们打包为 NuGet 并将它们推送到不同的存储库(Azure DevOps 工件、SonaType Nexus OSS)

然后我需要将这些模块安装为其他管道的一部分。由于 Azure DevOps 中没有内置方法来处理 PowerShell 存储库和导入模块,我编写了一个脚本,将存储库位置、名称和凭据作为参数,验证它是否已注册并安装模块。当我在任何机器上运行此脚本时,它都能完美运行当此脚本是任何管道上的 PowerShell 任务时 - 它有各种故障,总是使用 PackageManagement 中的 cmdlet

我认为这是因为代理使用 -NoProfile 运行它,但是当我运行脚本时,它对我有效,代理运行它的方式完全正确 - “powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command”。'C:.....'”

我还尝试运行 cmd 任务并调用 PowerShell 来运行脚本,但结果完全相同

我遇到的问题是:

  • Get-PSRepository 不返回任何内容。甚至没有 PSGallery

  • 当我尝试注册存储库(使用 Register-PSRepository 或 Register-PackageSource)时,它会引发错误: PackageManagement\Register-PackageSource : The property 'Values' cannot be found on this object. Verify that the property exists.

  • 作为我脚本的一部分,我正在运行这些 cmdlet 以确保所有必需的模块都在那里:

    $webclient=New-Object System.Net.WebClient; $webclient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.208 -Force -Confirm:$false -Verbose; Install-Module PowerShellGet -RequiredVersion 2.2.4 -SkipPublisherCheck -Verbose -Force;

  • 出现的另一个错误是:

PackageManagement\Get-PackageSource : Unable to find repository 'PSGallery'. Use Get-PSRepository to see all available repositories.

我花了几个小时在这上面。从 3rd 方存储库(基于 NuGet)安装 PS 模块的正确方法是什么

谢谢

0 投票
2 回答
2928 浏览

powershell - PowerShell安装模块命令没有失败但没有安装模块

我正在尝试将 SharePoint 的 PnP 在线命令安装到我的 PowerShell 上,但是以下命令似乎不起作用;

该命令似乎运行良好,没有出现任何错误,但是当我尝试运行应该已安装的命令时,我收到一条错误消息,提示找不到命令。

我查看了所有模块文件夹,但模块不在其中。我已经将我的环境路径与有此工作的同事进行了比较,它们是相同的。

有谁知道这可能是什么原因造成的?

0 投票
1 回答
1860 浏览

powershell - PowerShell 安装模块错误 - 未找到指定搜索条件和模块名称“PackageManagement”的匹配项

我正在尝试在我的 Windows 10 PC 和 PowerShell 版本 7.1.2 中运行以下命令

但我收到以下错误,如屏幕截图所示:

-- 未找到指定搜索条件和模块名称“PackageManagement”的匹配项。

注意:我试图在我的 Office 笔记本电脑上运行这个命令,它给了我这个错误。如果我在我的个人电脑上运行同样的事情,这工作正常。

在过去的 4 天里,我真的被困在这上面。请帮忙

在此处输入图像描述

编辑 :

如果我单独请求模块,那就行得通。

意思是,以下工作正常..

Install-Module PowerShellGet -Force -WarningAction SilentlyContinue Install-Module PackageManagement -Force -WarningAction SilentlyContinue

在此处输入图像描述

0 投票
1 回答
233 浏览

powershell - 如何将 .nupkg 发布到 Powershell Gallery?

解决方案

归功于mklement0

这是我最终将我的bin\MyModule.0.1.0.nupkg模块发布到 PSGallery 的操作:

  1. 重命名bin\MyModule.0.1.0.nupkgbin\MyModule.0.1.0.zip
  2. 提取bin\MyModule.0.1.0.zipbin\MyModule\(提取的文件夹的名称必须与.psd1里面的文件名匹配,所以在我的例子中,现在有一个bin\MyModule\MyModule.psd1文件)。
  3. 从提取的文件夹中删除[Content_Types].xml文件(当您尝试从 PSGallery 下载和安装模块时,不删除这会导致错误,似乎是由于该文件的 2 个副本出现在结果中.nupkg)。

然后我能够运行这个命令:

它奏效了!我的模块现已发布到 PSGallery。

原帖

我有一个由Autorest.Powershell生成并打包为 .nupkg 文件的 Powershell 模块。我现在想将我的模块发布到Powershell Gallery,但不知道如何让它工作。我试过了:

应该可以将 .nupkg 文件发布到 Powershell Gallery,因为您可以从 Powershell Gallery 下载包为 .nupkg 文件。此外,Autorest 文档说明它生成的 nupkg 文件:

.nu​​pkg 的结构已创建,因此它可以作为 PSRepository 的一部分加载。此外,此包采用分发到 PSGallery 的格式。

我猜这是可能的,但我只是不知道该怎么做。任何帮助,将不胜感激

0 投票
1 回答
72 浏览

powershell - 可以使用 PowershellGet 从本地目录或 HTTP 服务器提供的 zip 安装 PowerShell 模块吗?

PsGet可以使用本地目录中的旧社区提供的模块或远程 HTTP 服务器中的 zip 来安装 Powershell 模块:

可以对PowershellGet模块做同样的事情吗?似乎 PowershellGet只能从 NuGet 存储库安装模块。

任何建议表示赞赏。

0 投票
1 回答
3436 浏览

docker - Get-PSRepository,powershell 警告:尝试在 WindowsServer2016 中安装 Docker 时“找不到模块存储库”

我想安装 Docker,所以我尝试了下面的命令,它给出了一个错误

PS C:\Windows\system32> Install-Module -Name DockerMsftProvider PackageManagement\Install-Package : 未找到指定搜索条件和模块名称“DockerMsftProvider”的匹配项。尝试 Get-PSRepository 以查看所有可用的已注册模块存储库。在 C:\Program Files\ WindowsPowerShell\ Modules\ PowerShellGet\ 1.0.0.1\ PSModule .psm1:1772 char:21 $null = PackageManagement\Install-Package @PSBoundParameters CategoryInfo : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage ) [安装包],异常 + FullyQualifiedErrorId:NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

甚至Install-Module -Name DockerMsftProvider -Repository PSGallery -Force给出了同样的错误。

我尝试了以下资源,但仍然相同。我无法注册 PSRepository。只有安装了这个,我才能在 Windows Server 中安装 Docker。我花了几个小时来解决这个问题,但进度仍为 0%。注册 PSRepository ( Register-PSRepository -Default -InstallationPolicy Trusted ) 没有任何错误,但仍然不可见。

任何可能的帮助来解决这个问题?

https://copdips.com/2018/05/setting-up-powershell-gallery-and-nuget-gallery-for-powershell.html

警告:无法找到模块存储库

找不到模块提供程序

https://www.powershellgallery.com/packages/PowerShellGet/2.2.1

https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server#prerequisites

0 投票
1 回答
239 浏览

powershell - 无需 RSAT 即可安装 Active Directory

在没有 RSAT 的服务器中安装 Active Directory

我能够在某些服务器中安装 Active Directory 模块,但在其他服务器中不能安装......

我不断收到此错误:

我只是将 DLL 从具有 RSAT AD 模块和 C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory 的系统上的 WinSXS 文件夹复制到同一个文件夹中。我在这里想念什么?