PowerShell, VMWare, Windows

“The module XYZ cannot be installed because the catalog signature in ZYX does not match the hash generated from the module.”

In light of the recent announcement that VMware PowerCLI 6.5.4 has been released, I have been  encountering the following error when trying to upgrade on existing systems varying from Windows Server 2012R2 to Windows 10 (1709):

PackageManagement\Install-Package : The module 'VMware.VimAutomation.Sdk' cannot be installed because the catalog
signature in 'VMware.VimAutomation.Sdk.cat' does not match the hash generated from the module.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1661 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package],
   Exception
    + FullyQualifiedErrorId : InvalidCatalogSignature,ValidateAndGet-AuthenticodeSignature,Microsoft.PowerShell.Packag
   eManagement.Cmdlets.InstallPackage

Initially thinking that I may have to lower my execution policy Set-ExecutionPolicy Unrestricted -force  it didn’t really work, so I then limited the install only for my user Install-Module -Name VMware.PowerCLI -Scope CurrentUser  thinking is a profile/permission issue, which also didn’t work leaving me with diving a bit deeper by enabling verbose – Install-Module -Name VMware.PowerCLI -Scope CurrentUser -Verbose :

TIP: You can also try deleting the contents of C:\Users\asecor\AppData\Local\Temp before re-executing the Install-Module command

…But verbose mode was still not much help – until finally after trawling through GitHub issue lists of similar error messages on completely irrelevant packages I came across the solution – Install-PackageProvider Nuget –force . Installing Nuget (or even re-installing/updating for that matter) allowed the installation to progress further – until the next hurdle:

PackageManagement\Install-Package : A command with name 'Export-VM' is already available on this system. This module
'VMware.VimAutomation.Core' may override the existing commands. If you still want to install this module
'VMware.VimAutomation.Core', use -AllowClobber parameter.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1661 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package],
   Exception
    + FullyQualifiedErrorId : CommandAlreadyAvailable,Validate-ModuleCommandAlreadyAvailable,Microsoft.PowerShell.Pack
   ageManagement.Cmdlets.InstallPackage

But that is a simple fix, re-executing with the -AllowClobber trigger  Install-Module -Name VMware.PowerCLI -Scope CurrentUser -Verbose -AllowClobber  allowed for the PowerCLI to finally install successfully:

twitterredditpinterestlinkedinmail

2 Comments to ““The module XYZ cannot be installed because the catalog signature in ZYX does not match the hash generated from the module.””

Leave a Comment

Your email address will not be published. Required fields are marked *