2011-09-20 3 views
1

J'ai développé des applets de commande et des fournisseurs Powerhell, et j'ai également développé une application pour héberger l'environnement PowerShell. Je voudrais exécuter ces cmdlets et ces fournisseurs dans cet environnement PowerShell hébergé. Je me demande si c'est possible et comment enregistrer mon snapin personnalisé. Merci pour l'aide.Comment enregistrer un composant logiciel enfichable PowerShell par programmation dans un environnement PowerShell hébergé?

Répondre

2

Le programme d'installation par défaut d'une classe étendue PSSnapin crée une série de clés de registre pour le composant logiciel enfichable. Ceux-ci sont créés sous HKLM: \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellSnapIns \. Les valeurs de chaîne sont les suivantes: PowerShellVersion, Fournisseur, Description, Version, ApplicationBase, AssemblyName, ModuleName, VendorIndirect et DescriptionIndirect.

Regardez un PSSnapin enregistré existant et utilisez-le comme pour votre modèle pour créer la clé et les valeurs de chaîne. Après avoir créé la clé et toutes les valeurs de chaîne (en particulier les valeurs ApplicationBase, AssemblyName et ModuleName), ajoutez le snapin à un objet PSRunspaceConfiguration avec la méthode AddPSSnapin() avant d'instancier un nouvel objet d'espace d'exécution.

+0

Merci pour la réponse. Autant que je comprends de la documentation de Microsoft, AddPSSnapin peut seulement ajouter un snapin à l'exécution quand il est déjà enregistré, ce qui signifie qu'il doit avoir une entrée de registre remplie avant que vous puissiez appeler AddPSSnapIn. Devez-vous exécuter installutil.exe pour votre snapin? – awatto

+0

awatto, je vois ce que tu veux dire maintenant. Désolé pour l'interprétation erronée de votre question. Donc, j'ai mis à jour la réponse avec quelque chose de plus approprié. :) – CosmosKey

+0

Si peupler ces clés de registre sont la seule chose à faire, c'est certainement la réponse. Merci. – awatto

Questions connexes