Powershell 32 bits :Utiliser le module ServerManager ?
-
12-12-2019 - |
Question
Je travaille avec une application 32 bits capable d'exécuter des extraits de code PowerShell.Je dois charger le ServerManager
module, que je ferais normalement avec :
Import-Module ServerManager
Mais j'obtiens cette erreur :
Le module spécifié 'ServerManager' n'a pas été chargé car aucun fichier de module valide n'a été trouvé dans aucun répertoire de module.
Je suppose que c'est parce que le module ServerManager n'existe pas dans le répertoire des modules 64 bits, j'ai donc essayé ce qui suit :
Import-Module "C:\Windows\sysnative\WindowsPowerShell\v1.0\Modules\ServerManager"
Mais maintenant j'obtiens l'erreur :
Import-Module : Cannot load Windows PowerShell snap-in C:\Windows\assembly\GAC_MSIL\Microsoft.Windows.ServerManager.PowerSh ell\6.1.0.0__31bf3856ad364e35\Microsoft.Windows.ServerManager.PowerShell.dll because of the following error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. Loader Exceptions: Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. Could not load file or assembly 'Microsoft.Windows.ServerManager, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856 ad364e35' or one of its dependencies. The system cannot find the file specified. At line:1 char:14
Des suggestions sur la façon dont je pourrais utiliser le module ServerManager à partir de PowerShell 32 bits ?Ou une autre suggestion sur la façon dont je pourrais installer la fonctionnalité « Desktop Experience » sur Server 2008 R2 (sans utiliser l'interface utilisateur) ?
La solution
Votre seul véritable choix ici est de générer une instance 64 bits de powershell.exe pour traiter les commandes de votre gestionnaire de serveur.Le processus parent étant de 32 bits, vous devrez utiliser le même %windir%\sysnative
astuce pour lancer powershell.exe.
%windir%\sysnative\windowspowershell\v1.0\powershell.exe
-command '& { ipmo servermanager; add-windowsfeature foo }'
(enveloppé pour plus de clarté)