Fix "Install-Module: The term 'Install-Module' is not recognized as the name of a cmdlet, function, script file, or operable program" Error

Problem: I was trying to install SharePoint Online PnP PowerShell module with "Install-Module -Name SharePointPnPPowerShellOnline" and got this error message:

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 correct and try again.

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 correct and try again.

Root cause: The Install-Module cmdlet is used to get and install new module from PowerShell Gallery.  and this cmdlet is part of PowerShell 5 or later. You can check the installed version of the PowerShell with:
$PSVersionTable
The PSVersion value in the output denotes the current PowerShell version. In earlier operating systems like Windows 7, Windows 8, Windows Server 2008, Windows 2012, etc. we've PowerShell 4 installed by default, unless its updated.

Solution: It turns out, I was running in Windows Server 2012 with PowerShell version 4.0 that doesn't support "Install-Module" cmdlet. So, to resolve this error we have to update the PowerShell through Windows Management Framework 5.1
fix The term ‘Install-Module’ is not recognized as the name of a cmdlet

Select the relevant package for your operating system, download  and install. The installation prompted me for a reboot. After the restart, it worked and the error "Install-Module: The term 'Install-Module' is not recognized as the name of a cmdlet" is no more!

Alternate solution: Download and install MSI setup file, if available (less recommended!)

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.