Sdílet prostřednictvím


Vývoj pluginového modulu brány

Modul plug-in brány Windows Admin Center umožňuje komunikaci rozhraní API z uživatelského rozhraní vašeho nástroje nebo řešení do cílového uzlu. Windows Admin Center hostuje službu brány, která předává příkazy a skripty z modulů plug-in brány, které se mají spouštět na cílových uzlech. Službu brány je možné rozšířit tak, aby zahrnovala vlastní moduly plug-in brány, které podporují jiné protokoly než výchozí.

Tyto moduly plug-in brány jsou ve výchozím nastavení součástí Centra pro správu Windows:

  • Plugin brány PowerShellu
  • Modul plug-in brány služby WMI (Windows Management Instrumentation)

Pokud chcete komunikovat s jiným protokolem než s PowerShellem nebo rozhraním WMI, jako je rest, můžete vytvořit vlastní modul plug-in brány. Moduly plug-in brány se načítají do samostatné domény AppDomain odděleně od stávajícího procesu brány, ale používají stejnou úroveň oprávnění.

Poznámka

Neznáte různé typy rozšíření? Přečtěte si další informace o architektuře rozšiřitelnosti a typech rozšíření.

Důležitý

Sada Windows Admin Center SDK a vývojářské nástroje ještě nebyly aktualizovány, aby podporovaly vývoj zásuvných modulů brány kompatibilních s modernizovaným Windows Admin Center. Následující průvodce nepovede k rozšíření .NET 8 kompatibilnímu s modernizovanou bránou.

Pokud máte zájem o vývoj plug-inu pro modernizované brány nebo o upgrade stávajícího plug-inu, odešlete e-mail na wacextensionrequest@microsoft.com.

Moduly plug-in brány vyvinuté v .NET 6, zatímco back-endová aktualizace byla ve verzi Preview, nemusí správně fungovat s nejnovější verzí centra pro správu Windows kvůli zásadním změnám z .NET 6 na .NET 8. Doporučujeme upgradovat rozšíření na .NET 8 co nejdříve.

Příprava prostředí

Pokud jste to ještě neudělali, připravte své prostředí instalací závislostí a globálních předpokladů, které jsou vyžadovány pro všechny projekty.

Vytvořte plug-in brány (knihovna C#)

Pokud chcete vytvořit vlastní modul plug-in brány, vytvořte novou třídu C#, která implementuje rozhraní IPlugIn z oboru názvů Microsoft.ManagementExperience.FeatureInterfaces.

Poznámka

Rozhraní IFeature, které je k dispozici ve starších verzích sady SDK, je nyní označeno jako zastaralé. Veškerý vývoj modulů plug-in brány by měl používat IPlugIn (nebo volitelně abstraktní třídu HttpPlugIn).

Stažení ukázky z GitHubu

Pokud chcete rychle začít s vlastním zásuvným modulem brány, můžete naklonovat nebo stáhnout kopii našeho ukázkového projektu zásuvného modulu v jazyce C# z našeho webu Windows Admin Center SDK na GitHubu.

Přidání obsahu

Přidejte nový obsah do naklonované kopie ukázkového projektu modulu plug-in C# projektu (nebo vlastního projektu), který bude obsahovat vlastní rozhraní API, a pak vytvořte soubor DLL modulu plug-in vlastní brány, který se použije v dalších krocích.

Nasazení modulu plug-in pro testování

Otestujte knihovnu DLL vlastního bránového modulu plug-in tak, že ji načtete do procesu brány Windows Admin Center.

Centrum pro správu Windows hledá všechny pluginy ve složce plugins ve složce Application Data aktuálního počítače (pomocí hodnoty CommonApplicationData z výčtu Environment.SpecialFolder). Ve Windows 10 je toto umístění C:\ProgramData\Server Management Experience. Pokud složka plugins ještě neexistuje, můžete ji vytvořit sami.

Poznámka

Umístění plug-inu v režimu ladění můžete přepsat aktualizací konfigurační hodnoty StaticsFolder. Pokud ladíte lokálně, toto nastavení je v App.Config Desktopového řešení.

Uvnitř složky plug-in (v tomto příkladu C:\ProgramData\Server Management Experience\plugins)

  • Vytvořte novou složku se stejným názvem jako hodnota vlastnosti NameFeature ve vaší vlastní knihovně DLL pro zásuvný modul brány (v našem vzorovém projektu je hodnota Name "Sample Uno")
  • Do této nové složky zkopírujte soubor DLL vlastního pluginu brány.
  • Restartování procesu Windows Admin Center

Po restartování procesu správce Windows budete moct uplatnit rozhraní API ve vlastní knihovně DLL modulu plug-in brány tak, že vydáte příkaz GET, PUT, PATCH, DELETE nebo POST pro http(s)://{domain|localhost}/api/nodes/{node}/features/{feature name}/{identifier}

Volitelné: Připojit k pluginu pro ladění

V sadě Visual Studio 2017 v nabídce Ladění vyberte Připojit k procesu. V dalším okně se posuňte v seznamu Dostupné procesy a vyberte SMEDesktop.exea pak vyberte Připojit. Jakmile se ladicí program spustí, můžete do kódu funkce umístit zarážku a pak si procvičit formát adresy URL. V našem ukázkovém projektu (název funkce: Sample Uno) je adresa URL: "<http://localhost:6516/api/nodes/fake-server.my.domain.com/features/Sample%20Uno>"

Vytvoření rozšíření nástrojů pomocí sady Windows Admin Center SDK

Teď potřebujeme vytvořit rozšíření nástroje, ze kterého můžete volat vlastní plugin pro bránu. Vytvořte nebo přejděte do složky, do které chcete ukládat soubory projektu, otevřete příkazový řádek a nastavte tuto složku jako pracovní adresář. Pomocí sady WINDOWS Admin Center SDK, která byla nainstalována dříve, vytvořte nové rozšíření s následující syntaxí:

wac create --company "{!Company Name}" --tool "{!Tool Name}"
Hodnota Vysvětlení Příklad
{!Company Name} Název vaší společnosti (s mezerami) Contoso Inc
{!Tool Name} Název vašeho nástroje (s mezerami) Manage Foo Works

Tady je příklad použití:

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

Tento příkaz vytvoří v aktuálním pracovním adresáři novou složku s názvem, který jste zadali pro nástroj, zkopíruje do projektu všechny potřebné soubory šablon a nakonfiguruje soubory s názvem vaší společnosti a nástroje.

Potom změňte adresář do složky a pak nainstalujte požadované místní závislosti spuštěním následujícího příkazu:

npm install

Jakmile se tento příkaz dokončí, nastavíte vše, co potřebujete k načtení nového rozšíření do Centra pro správu Windows.

Připojte nástrojové rozšíření k vlastnímu bránovému pluginu

Teď, když jste vytvořili rozšíření se sadou Windows Admin Center SDK, jste připraveni připojit rozšíření nástroje k vlastnímu modulu plug-in brány pomocí následujícího postupu:

Sestavení a boční načtení rozšíření

Pak své rozšíření sestavte a vlastní cestou načtěte do Centra pro správu Windows. Otevřete příkazové okno, změňte adresář na zdrojový adresář a pak jste připraveni k sestavení.

  • Sestavení a naservírování s Gulpem:

    gulp build
    gulp serve -p 4201
    

Port, který zvolíte, musí být aktuálně volný. Ujistěte se, že se nepokoušejte použít port, na kterém je spuštěná služba Windows Admin Center.

Projekt lze načíst do místní instance Centra pro správu Systému Windows pro účely testování připojením místně obsluhovaného projektu do centra Windows Admin Center.

  • Spuštění Centra pro správu Windows ve webovém prohlížeči

  • Otevřít ladicí program (F12)

  • Otevřete konzolu a zadejte následující příkaz:

    MsftSme.sideLoad("http://localhost:4201")
    
  • Aktualizace webového prohlížeče

Váš projekt se teď zobrazí v seznamu Nástroje s (načtenou stranou) vedle názvu.

Cílení na jinou verzi sady Windows Admin Center SDK

Udržování rozšíření v aktualizovaném stavu se změnami sady SDK a změnami platformy je snadné. Přečtěte si, jak cílit na jinou verzi sady Windows Admin Center SDK.