安装模块:术语“安装模块”不被识别为cmdlet的名称

时间:2017-01-11 08:15:22

标签: powershell azure azure-virtual-machine azure-powershell

我尝试在PowerShell中使用Install-Module Azure安装Azure。我收到以下错误:

PS C:\Windows\system32> Install-Module Azure
Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet, function, script file, 
or operable program. Check the spelling of the name, or if a path was included, verify that the path is corre
ct and try again.
At line:1 char:1
+ Install-Module Azure
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Install-Module:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

为什么PS无法识别基本的安装模块?没有这个,我甚至无法安装Azure。我该怎么办?

10 个答案:

答案 0 :(得分:20)

修复此错误的另一个基于GUI的选项是从Microsoft网站下载PackageManagement PowerShell Modules (msi installer)并安装模块。

安装完成后,您将无法获得"' Install-Module'不被识别为cmdlet的名称"错误。

答案 1 :(得分:14)

您应该安装最新版本的PowerShell,然后使用此命令Install-Module Azure安装azure模块。因为从Powershell 5.0开始,您将能够使用cmdlet Install-Module,Save-Module

PS > $psversiontable
Name                           Value
----                           -----
PSVersion                      5.1.14393.576
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.576
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

有关安装Azure PowerShell的详细信息,请参阅link

答案 2 :(得分:13)

由于您使用的是较低版本的PS:

在您的情况下,您可以先在本地文件夹中下载该模块。

然后,该模块的该文件夹下会有一个 .psm1 文件。

你只是

  

import-Module“file.psm1的路径”

以下是下载Azure模块的链接: Azure Powershell

这将完成你的工作。

答案 3 :(得分:1)

实际上我对这个问题的解决方案要简单得多,因为我已经拥有最新版本的PowerShell,但仍然无法识别Install-Module命令。为我修复“问题”的原因只是手动输入命令,因为最初我尝试从网站上复制代码段,显然复制和粘贴时格式存在问题,所以当我手动输入命令时,它安装了模块没有任何问题。

答案 4 :(得分:0)

如果您尝试安装名为PowerShell Gallery的PS内容的中央存储库中列出的模块,则需要安装PowerShellGet。然后该命令将可用。我目前正在使用PS 4.0。安装PowerShellGet为我做了诀窍。

Source

使用最新的PowerShellGet模块,您可以:

  • 使用查找模块和查找脚本搜索图库中的项目
  • 使用保存模块和保存脚本
  • 从图库中将项目保存到系统中
  • 使用Install-Module和Install-Script从Gallery安装项目
  • 使用发布模块和发布脚本
  • 将项目上传到图库
  • 使用Register-PSRepository
  • 添加自己的自定义存储库

Another great article to get started with PS Gallery.

答案 5 :(得分:0)

我没有NuGet软件包提供程序,您可以检查运行Get-PackageProvider

PS C:\WINDOWS\system32> Get-PackageProvider 

Name                     Version          DynamicOptions                                                                                                                 
----                     -------          --------------                                                                                                                 
msi                      3.0.0.0          AdditionalArguments                                                                                                            
msu                      3.0.0.0                                                                                                                                         
NuGet  <NOW INSTALLED>   2.8.5.208        Destination, ...                             

该解决方案通过运行以下命令进行安装:

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

如果失败并显示以下错误,则可以从另一台PC复制/粘贴NuGet文件夹(需要管理员):   C:\ Program Files \ PackageManagement \ ProviderAssemblies \ NuGet:

WARNING: Unable to download from URI 'https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll' to ''.
WARNING: Failed to bootstrap provider 'https://onegetcdn.azureedge.net/providers/nuget-2.8.5.208.package.swidtag'.
WARNING: Failed to bootstrap provider 'nuget'.
WARNING: The specified PackageManagement provider 'NuGet' is not available.
PackageManagement\Install-PackageProvider : Unable to download from URI 
'https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll' to ''.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\PSModule.psm1:6463 char:21
+             $null = PackageManagement\Install-PackageProvider -Name $script:NuGe ...

答案 6 :(得分:0)

我有Windows 10,并且已经安装了PowerShell 5.1。不论出于何种原因,x86版本都可以工作,并且可以找到“ Install-Module”,而其他版本则不能。

在“开始”菜单中搜索“ powershell”,然后找到以“(x86)”结尾的条目:

Windows 10 Start Menu searching for PowerShell

这是我在两个不同版本之间的经历:

PowerShell x86 vs x64 running Install-Module cmdlet comparison

答案 7 :(得分:0)

我认为上述杰里米·汤普森(Jeremy Thompson)发布的答案是正确的答案,但我没有足够的街头信誉来发表评论。更新nuget和powershellget后,Install-Module就可以使用了。

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force 
Install-PackageProvider -Name Powershellget -Force

有趣的是,更新后get-packageprovider返回的版本号未更改。

答案 8 :(得分:0)

以管理员身份运行以下命令以使用Powershell安装NuGet

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet

答案 9 :(得分:0)

我正在运行一台旧服务器,因为PowerShell版本是4.0,所以我无法运行install-module。您可以使用PowerShell命令行检查PowerShell版本

ps>HOST . 

https://gallery.technet.microsoft.com/office/PowerShell-Install-Module-388e47a1

使用此链接下载必要的更新。检查您的 Windows版本需要更新。