Home Virtual Desktop (VDI) VMware Horizon View Erreur PowerShell snap-in strong name PowershellServiceCmdlets
VMware Horizon View Erreur PowerShell snap-in strong name PowershellServiceCmdlets PDF Print E-mail
Written by Cyril Pineiro   

Après avoir mis à jour l’infra VMware View l’erreur suivante apparait à chaque lancement de PowerShell ISE
sur le "Connection Serveur", mon ami Google n'ayant pas pu m'aider il a fallu chercher la cause de cette erreur :

 

Ci-dessous on peut voir que la version du module enregistré n’est pas la bonne,
c’est certainement cette mauvaise référence qui est à la source de l’erreur.

 

On commence par récupérer le chemin d'installation du module (dans le registre la valeur de « ModuleName ») :
« D:\Program Files\VMware\VMware View\Server\bin\PowershellServiceCmdlets.dll »

En cherchant un peu sur Google j'ai trouvé un article qui explique de lancer le Script Powershell
qui permet  d'ajouter l'addin, dans mon cas ce script se trouve dans le répertoire :
« D:\Program Files\VMware\VMware View\Server\extras\PowerShell\add-snapin.ps1 »

Même après exécution de ce Script en tant qu'administrateur j'obtiens la même erreur.

Je tente donc de l’exécuter d'une autre manière, cette manière m'a déjà
servi auparavant dans des cas ou les scripts ne pouvaient pas s’exécuter :
[string]$ADDSNAP = Get-content "D:\Program Files\VMware\VMware View\Server\extras\PowerShell\add-snapin.ps1"
Invoke-Expression $ADDSNAP

Ça ne fonctionne toujours pas pour mon infra, après quelques tests et minutes de réflexion,
j'ai enfin réussi à trouver la solution, voici comment procéder :

On va chercher « installutil.exe » de la version la plus récente du .Net installé dans le « bitness » de l’OS,
dans mon cas il se trouve dans « C:\Windows\Microsoft.NET\Framework64\v4.0.30319 »

Aller dans le répertoire « cd /d C:\Windows\Microsoft.NET\Framework64\v4.0.30319 »

Puis lancer la commande :
« installutil.exe "D:\Program Files\VMware\VMware View\Server\bin\PowershellServiceCmdlets.dll" »

Une fois la commande à fini de s’exécuter, on peut constater que le registre a été mis à jour

On relance PowerShell, et là on ne devrait plus avoir d’erreur.

Dans PowerShell on vérifie si l’addin est bien chargé en testant une commande