【问题标题】:How do I install a module using a PSM1 file?如何使用 PSM1 文件安装模块?
【发布时间】:2019-08-19 14:28:09
【问题描述】:

我无法安装指向 PSM1 文件的模块

是否可以安装 .PSM1 模块?使用 Install-Module 命令我做不到。

如果不可能,我如何不必在所有新部分中使用 Import-Module 导入模块。

安装模块“\\servers\folders\module.PSM1”

错误示例:

Install-Module "C:\INFRA\PsSinqia.psm1"
PackageManagement\Install-Package : No match was found for the specified search criteria and module name
'C:\INFRA\PsSinqia.psm1'. Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Packag
   e], Exception
    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

【问题讨论】:

  • 请添加更多细节。你是什​​么意思“无法安装”?为什么不?你有错误吗?考虑到我们无法阅读您的屏幕并查看您所看到的内容。如果有错误,请编辑您的问题并发布整个错误。如果没有,请详细说明正在发生的事情以及您期望发生的事情。
  • 安装模块功能不接受路径作为参数。我需要知道是否有其他方法可以做到这一点。或者“持久化”模块的导入。
  • PsGet module 允许使用-ModulePath 参数从本地路径安装模块。将其导入为 Import-Module PSGET -prefix GH(根据自己的喜好使用前缀),以防止 cmdlet 名称与 PowerShellGet 模块中的名称混合。
  • 但是使用 Import-Module 是否需要对 Powershell 的每个新部分执行此操作,或者是否需要导入一次,即使在重新启动 PC 后,模块命令是否可用?
  • 只需将Import-Module PSGET -prefix GH 添加到$profile.CurrentUserAllHosts$profile.AllUserAllHosts

标签: powershell module


【解决方案1】:

正确的文件夹是:

  • C:\Windows\System32\WindowsPowerShell\v1.0\Modules\
  • C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\

文件夹和模块必须同名。

参考:MSOnline can't be imported on PowerShell (Connect-MsolService error)

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 2020-11-01
    • 2014-10-25
    • 2016-01-30
    • 2020-02-24
    • 2018-07-02
    • 2014-04-02
    相关资源
    最近更新 更多