Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 安装模块:术语';安装模块&x27;未识别为cmdlet的名称_Powershell_Azure_Azure Virtual Machine_Azure Powershell - Fatal编程技术网

Powershell 安装模块:术语';安装模块&x27;未识别为cmdlet的名称

Powershell 安装模块:术语';安装模块&x27;未识别为cmdlet的名称,powershell,azure,azure-virtual-machine,azure-powershell,Powershell,Azure,Azure Virtual Machine,Azure Powershell,我试图在PowerShell中使用安装模块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 n

我试图在PowerShell中使用
安装模块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。我该怎么办?

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


有关安装Azure的更多信息,请参阅。

,因为您使用的是较低版本的PS:

在您的情况下,您可以首先将模块下载到本地文件夹中

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

你只是

导入模块“文件.psm1的路径”

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


这将完成您的工作。

如果您试图安装PS内容中央存储库中列出的名为PowerShell Gallery的模块,则需要安装PowerShellGet。然后该命令将可用。我目前正在使用PS4.0。安装PowerShellGet为我做到了这一点

:

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

  • 使用“查找”模块和“查找脚本”搜索库中的项目
  • 使用“保存”模块和“保存脚本”将项目从库中保存到系统
  • 使用安装模块和安装脚本从库中安装项目
  • 使用发布模块和发布脚本将项目上载到库
  • 使用Register PSRepository添加您自己的自定义存储库

修复此错误的另一个基于GUI的选项是从Microsoft网站下载并安装模块


安装后,您将不会收到“'Install-Module'未被识别为cmdlet的名称”错误。

实际上,我解决此问题的方法要简单得多,因为我已经有了最新版本的PowerShell,并且仍然无法识别
安装模块
命令。对我来说,解决“问题”的方法只是手动键入命令,因为最初我尝试从网站复制代码段,显然在复制和粘贴时存在一些格式问题,因此当我手动键入命令时,它会毫无问题地安装模块。

我没有NuGet软件包提供程序,您可以检查running
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, ...                             
如果失败并出现以下错误,您可以从另一台电脑复制/粘贴NuGet文件夹(需要管理员): C:\Program Files\PackageManagement\ProviderAssembly\n获取:


我已经安装了Windows 10和PowerShell 5.1。无论出于何种原因,x86版本都可以工作并找到“安装模块”,但另一个版本无法找到

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

以下是我在两个不同版本之间的体验:

我认为这是正确的,但我没有足够的街头信誉来评论。一旦我更新了nuget和powershellget,就可以使用安装模块了

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

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

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

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

Install-PackageProvider -Name NuGet

我运行的是一台旧服务器,由于PowerShell版本为4.0,因此无法运行安装模块。您可以使用PowerShell命令行检查PowerShell版本

ps>HOST . 

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

您所说的“在本地文件夹中下载模块”是什么意思?我可以从网上下载吗?@santafebound:当然可以,你可以从网上下载模块。我想它已经存在于Github中了。@santafebound:我已经修改了答案,并给了您下载模块的Github链接:)谢谢我现在来看看@santafebound:接受答案,它会帮助你。这里是powershell 5.0的链接。这可能不是所有情况下的问题。我有PSVersion 5.1.18362.145,安装模块[仍然]未被识别为cmdlet、函数、脚本文件或可操作程序的名称。这似乎是一个很酷的解决方案,不幸的是,这也有同样的问题-您需要先安装powershell 3+和dotnet 4.5。。。这会给你“安装模块”的命令。链接断开了。修复了断开的链接同样的事情发生在我身上-手动键入,而不是在磨牙10分钟后保存的复制粘贴。谢谢你的提醒
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force 
Install-PackageProvider -Name Powershellget -Force
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet
ps>HOST .