Développer un plug-in de passerelle

S'applique à : Windows Admin Center, Windows Admin Center Preview

un plug-in de passerelle du centre d’administration Windows active la communication d’API à partir de l’interface utilisateur de votre outil ou solution vers un nœud cible. Windows centre d’administration héberge un service de passerelle qui relaie les commandes et les scripts des plug-ins de passerelle à exécuter sur les nœuds cibles. Le service de passerelle peut être étendu pour inclure des plug-ins de passerelle personnalisés qui prennent en charge des protocoles autres que ceux par défaut.

ces plug-ins de passerelle sont inclus par défaut avec Windows centre d’administration :

  • Plug-in PowerShell Gateway
  • Plug-in de passerelle WMI

Si vous souhaitez communiquer avec un autre protocole que PowerShell ou WMI, comme avec REST, vous pouvez créer votre propre plug-in de passerelle. Les plug-ins de passerelle sont chargés dans un AppDomain distinct du processus de passerelle existant, mais utilisent le même niveau d’élévation pour les droits.

Notes

Vous n’êtes pas familiarisé avec les différents types d’extensions ? En savoir plus sur l' architecture et les types d’extension d’extensibilité.

Préparation de votre environnement

Si vous ne l’avez pas déjà fait, Préparez votre environnement en installant des dépendances et des prérequis globaux requis pour tous les projets.

Créer un plug-in de passerelle (bibliothèque C#)

Pour créer un plug-in de passerelle personnalisé, créez une nouvelle classe C# qui implémente l' IPlugIn interface à partir de l' Microsoft.ManagementExperience.FeatureInterfaces espace de noms.

Notes

L' IFeature interface, disponible dans les versions antérieures du kit de développement logiciel (SDK), est désormais marquée comme obsolète. Tout le développement de plug-ins de passerelle doit utiliser IPlugIn (ou éventuellement la classe abstraite HttpPlugIn).

Télécharger l’exemple à partir de GitHub

pour commencer rapidement avec un plug-in de passerelle personnalisé, vous pouvez cloner ou télécharger une copie de notre exemple de projet de plug-in C# à partir de notre site GitHubdu kit de développement logiciel (SDK) du centre d’administration Windows.

Ajouter du contenu

Ajoutez un nouveau contenu à votre copie clonée de l’exemple de projet de projet de plug-in C# (ou votre propre projet) pour contenir vos API personnalisées, puis générez votre fichier dll de plug-in de passerelle personnalisé à utiliser dans les étapes suivantes.

Déployer le plug-in pour le test

testez votre DLL de plug-in de passerelle personnalisée en la chargeant dans Windows processus de passerelle du centre d’administration.

Windows centre d’administration recherche tous les plug-ins dans un plugins dossier du dossier Application Data de l’ordinateur actuel (à l’aide de la valeur CommonApplicationData de l’énumération Environment. SpecialFolder). sur Windows 10 cet emplacement est C:\ProgramData\Server Management Experience . Si le plugins dossier n’existe pas encore, vous pouvez le créer vous-même.

Notes

Vous pouvez remplacer l’emplacement du plug-in dans une version Debug en mettant à jour la valeur de configuration « StaticsFolder ». Si vous effectuez un débogage localement, ce paramètre se trouve dans le App.Config de la solution de bureau.

Dans le dossier plugins (dans cet exemple, C:\ProgramData\Server Management Experience\plugins )

  • Créez un nouveau dossier portant le même nom que la Name valeur de propriété de Feature dans votre dll de plug-in de passerelle personnalisée (dans notre exemple de projet, le Name est « Sample Uno »)
  • Copiez votre fichier DLL de plug-in de passerelle personnalisé dans ce nouveau dossier
  • redémarrer le processus du centre d’administration Windows

après le redémarrage du processus d’administration de Windows, vous pouvez tester les api dans votre DLL de plug-in de passerelle personnalisée en émettant une opération d’extraction, de mise en place, de correction, de suppression ou de publication surhttp(s)://{domain|localhost}/api/nodes/{node}/features/{feature name}/{identifier}

Facultatif : attacher au plug-in pour le débogage

dans Visual Studio 2017, dans le menu déboguer, sélectionnez « attacher au processus ». Dans la fenêtre suivante, faites défiler la liste processus disponibles et sélectionnez SMEDesktop.exe, puis cliquez sur « attacher ». Une fois le débogueur démarré, vous pouvez placer un point d’arrêt dans le code de votre fonctionnalité, puis utiliser le format d’URL ci-dessus. Pour notre exemple de projet (nom de la fonctionnalité : « exemple Uno »), l’URL est : « http://localhost:6516/api/nodes/fake-server.my.domain.com/features/Sample%20Uno »

créer une extension d’outil avec le kit de développement logiciel (SDK) du centre d’administration Windows

Nous devons maintenant créer une extension d’outil à partir de laquelle vous pouvez appeler votre plug-in de passerelle personnalisé. Créez ou accédez à un dossier dans lequel vous souhaitez stocker vos fichiers de projet, ouvrez une invite de commandes, puis définissez ce dossier comme répertoire de travail. à l’aide du kit de développement logiciel (SDK) du centre d’administration Windows installé précédemment, créez une nouvelle extension avec la syntaxe suivante :

wac create --company "{!Company Name}" --tool "{!Tool Name}"
Valeur Explication Exemple
{!Company Name} Nom de votre société (avec des espaces) Contoso Inc
{!Tool Name} Votre nom d’outil (avec des espaces) Manage Foo Works

Voici un exemple d’utilisation :

wac create --company "Contoso Inc" --tool "Manage Foo Works"

Cela crée un nouveau dossier dans le répertoire de travail actuel en utilisant le nom que vous avez spécifié pour votre outil, copie tous les fichiers de modèle nécessaires dans votre projet et configure les fichiers avec le nom de votre entreprise et de votre outil.

Ensuite, accédez au dossier que vous venez de créer, puis installez les dépendances locales requises en exécutant la commande suivante :

npm install

une fois cette opération terminée, vous avez configuré tout ce dont vous avez besoin pour charger votre nouvelle extension dans Windows centre d’administration.

Connecter votre extension d’outil à votre plug-in de passerelle personnalisé

maintenant que vous avez créé une extension avec le kit de développement logiciel (SDK) du centre d’administration Windows, vous êtes prêt à connecter votre extension d’outil à votre plug-in de passerelle personnalisé, en procédant comme suit :

Créez et chargez votre extension

ensuite, créez et chargez votre extension dans Windows centre d’administration. Ouvrez une fenêtre de commande, accédez au répertoire source, puis vous êtes prêt à générer.

  • Créez et servez-vous de Gulp :

    gulp build
    gulp serve -p 4201
    

Notez que vous devez choisir un port qui est actuellement libre. vérifiez que vous n’essayez pas d’utiliser le port sur lequel Windows centre d’administration est en cours d’exécution.

votre projet peut être chargé dans une instance locale de Windows centre d’administration à des fins de test en joignant le projet desservi localement à Windows centre d’administration.

  • lancer Windows centre d’administration dans un navigateur web

  • Ouvrir le débogueur (F12)

  • Ouvrez la console et tapez la commande suivante :

    MsftSme.sideLoad("http://localhost:4201")
    
  • Actualiser le navigateur Web

Votre projet sera désormais visible dans la liste des outils avec (chargé sur le côté) en regard du nom.

cibler une version différente du kit de développement logiciel (SDK) du centre d’administration Windows

Il est facile de tenir à jour votre extension avec les modifications du SDK et les modifications de la plateforme. en savoir plus sur la façon de cibler une version différente du kit de développement logiciel (SDK) du centre d’administration Windows.