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 the 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.
Root cause:
The Install-Module cmdlet is used to get and install the 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 it’s updated.
Solution for install-module is not recognized Error:
It turns out I was running in Windows Server 2012 with PowerShell version 4.0, which doesn’t support the “Install-Module” cmdlet. So, to resolve this error, we have to update the PowerShell through Windows Management Framework 5.1
Select the relevant package for your operating system, download it, and install. The installation prompted me to 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!)