Développer un plug-in de passerelle
Un plug-in de passerelle Windows Admin Center active la communication d’API à partir de l’interface utilisateur de votre outil ou solution vers un nœud cible. Windows Admin Center 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 Admin Center :
- Plug-in de passerelle PowerShell
- Plug-in de passerelle WMI
Si vous souhaitez communiquer avec un protocole autre que PowerShell ou WMI, tel qu’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’extension ? En savoir plus sur l’architecture d’extensibilité et les types d’extension.
Important
Le kit de développement logiciel (SDK) et les outils de développement de Windows Admin Center n’ont pas encore été mis à jour pour prendre en charge le développement de plug-ins de passerelle compatibles avec la passerelle modernisée Windows Admin Center. Le fait de suivre ce guide ne permettra pas d’obtenir une extension compatible avec la passerelle modernisée.
Si vous souhaitez développer un plug-in de passerelle pour la passerelle modernisée ou mettre à niveau votre plug-in de passerelle existant, envoyez un email à wacextensionrequest@microsoft.com.
Préparation de votre environnement
Si ce n’est pas déjà fait, préparez votre environnement en installant les dépendances et les 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 classe C# qui implémente l’interface IPlugIn
à partir de l’espace Microsoft.ManagementExperience.FeatureInterfaces
de noms.
Notes
L’interface IFeature
, disponible dans les versions antérieures du Kit de développement logiciel (SDK), est désormais signalée comme obsolète. Tous les développements de plug-ins de passerelle doivent utiliser IPlugIn (ou éventuellement la classe abstraite HttpPlugIn).
Télécharger un exemple depuis GitHub
Pour commencer rapidement avec un plug-in de passerelle personnalisée, vous pouvez cloner ou télécharger une copie de notre exemple de projet de plug-in C# à partir de notre site GitHub du SDK Windows Admin Center.
Ajouter du contenu
Ajoutez un nouveau contenu à votre copie clonée de l’exemple 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 à des fins de test
Testez votre DLL de plug-in de passerelle personnalisé en la chargeant dans Windows Admin Center processus de passerelle.
Windows Admin Center recherche tous les plug-ins d’un plugins
dossier dans le 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 build de débogage en mettant à jour la valeur de configuration « StaticsFolder ». Si vous déboguez localement, ce paramètre se trouve dans le App.Config de la solution de bureau.
Dans le dossier plug-ins (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 dansFeature
votre DLL de plug-in de passerelle personnalisé (dans notre exemple de projet, leName
est « Sample Uno ») - Copiez votre fichier DLL de plug-in de passerelle personnalisé dans ce nouveau dossier
- Redémarrez le processus Windows Admin Center
Une fois le processus Windows Administration redémarré, vous pouvez exercer les API dans votre DLL de plug-in de passerelle personnalisé en émettant un GET, PUT, PATCH, DELETE ou POST àhttp(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 votre code de fonctionnalité, puis effectuer un exercice au format d’URL ci-dessus. Pour notre exemple de projet (nom de fonctionnalité : « Sample Uno ») l’URL est la suivante : "<http://localhost:6516/api/nodes/fake-server.my.domain.com/features/Sample%20Uno>"
Créer une extension d’outil avec le SDK de Windows Admin Center
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 où vous souhaitez stocker vos fichiers projet, ouvrez une invite de commandes et définissez ce dossier comme répertoire de travail. À l’aide du Kit de développement logiciel (SDK) Windows Admin Center qui a été 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 entreprise (avec espaces) | Contoso Inc |
{!Tool Name} |
Nom de votre outil (avec espaces) | Manage Foo Works |
Voici un exemple d’utilisation :
wac create --company "Contoso Inc" --tool "Manage Foo Works"
Cela crée un dossier à l’intérieur du répertoire de travail actuel en utilisant le nom que vous avez spécifié pour votre outil, copie tous les fichiers de modèles nécessaires dans votre projet et configure les fichiers avec le nom de votre entreprise et de l’outil.
Ensuite, remplacez le répertoire dans le 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 Admin Center.
Connecter votre extension d’outil à votre plug-in de passerelle personnalisé
Maintenant que vous avez créé une extension avec le SDK Windows Admin Center, vous êtes prêt à connecter votre extension d’outil à votre plug-in de passerelle personnalisé en procédant comme suit :
- Ajouter un module vide
- Utilisez votre plug-in de passerelle personnalisé dans votre extension d’outil
Générer et charger la version test de votre extension
Ensuite, générez et chargez la version test de votre extension dans Windows Admin Center. Ouvrez une fenêtre de commande, remplacez le répertoire par votre répertoire source, puis vous êtes prêt à générer.
Générer et servir avec gulp :
gulp build gulp serve -p 4201
Notez que vous devez choisir un port actuellement gratuit. Veillez à ne pas essayer d’utiliser le port sur lequel Windows Admin Center s’exécute.
La version test de votre projet peut être chargée dans une instance locale de Windows Admin Center à des fins de test en attachant le projet servi localement à Windows Admin Center.
Lancer Windows Admin Center 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 est désormais visible dans la liste Outils avec (la version test chargée) en regard du nom.
Cibler une autre version du Kit de développement logiciel (SDK) Windows Admin Center
Il est facile de maintenir votre extension à jour avec les modifications apportées au Kit de développement logiciel (SDK) et à la plateforme. Découvrez comment cibler une autre version du Kit de développement logiciel (SDK) Windows Admin Center.