Powershell 安装模块:术语';安装模块&x27;未识别为cmdlet的名称
我试图在PowerShell中使用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
安装模块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软件包提供程序,您可以检查runningGet 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 .