Een gateway-invoegtoepassing ontwikkelen
Een Windows Admin Center-gatewayinvoegtoepassing maakt API-communicatie vanuit de gebruikersinterface van uw hulpprogramma of oplossing mogelijk naar een doelknooppunt. Windows Admin Center fungeert als host voor een gatewayservice waarmee opdrachten en scripts van gateway-invoegtoepassingen worden doorgegeven die moeten worden uitgevoerd op doelknooppunten. De gatewayservice kan worden uitgebreid met aangepaste gatewayinvoegtoepassingen die andere protocollen ondersteunen dan de standaardprotocollen.
Deze gateway-invoegtoepassingen zijn standaard opgenomen in het Windows-beheercentrum:
- PowerShell Gateway-invoegtoepassing
- Windows Management Instrumentation (WMI) gateway-invoegtoepassing
Als u wilt communiceren met een ander protocol dan PowerShell of WMI, zoals met REST, kunt u uw eigen gatewayinvoegtoepassing bouwen. Gateway-invoegtoepassingen worden geladen in een afzonderlijk AppDomain van het bestaande gatewayproces, maar gebruiken hetzelfde niveau van verhoging voor rechten.
Notitie
Bent u niet bekend met de verschillende extensietypen? Meer informatie over de uitbreidbaarheidsarchitectuur en extensietypen.
Belangrijk
De Windows Admin Center SDK en ontwikkelhulpprogramma's zijn nog niet bijgewerkt om de ontwikkeling van gateway-plug-ins te ondersteunen die compatibel zijn met de gemoderniseerde gateway van Windows Admin Center . Als u deze handleiding volgt, resulteert dit niet in een .NET 8-extensie die compatibel is met de gemoderniseerde gateway.
Als u geïnteresseerd bent in het ontwikkelen van een gatewayinvoegtoepassing voor de gemoderniseerde gateway of het upgraden van uw bestaande gatewayinvoegtoepassing, stuurt u een e-mail naar wacextensionrequest@microsoft.com.
Gateway-plug-ins die zijn ontwikkeld in .NET 6 terwijl de back-endupdate in preview was, werken mogelijk niet correct met de nieuwste versie van Windows Admin Center vanwege breaking changes van .NET 6 naar .NET 8. U wordt aangeraden uw extensie zo snel mogelijk te upgraden naar .NET 8.
Uw omgeving voorbereiden
Als u dat nog niet hebt gedaan, bereid uw omgeving voor door afhankelijkheden en algemene vereisten te installeren die vereist zijn voor alle projecten.
Maak een gateway-plug-in (C#-bibliotheek)
Als u een aangepaste gatewayinvoegtoepassing wilt maken, maakt u een nieuwe C#-klasse die de IPlugIn
-interface implementeert vanuit de Microsoft.ManagementExperience.FeatureInterfaces
-naamruimte.
Notitie
De IFeature
-interface, beschikbaar in eerdere versies van de SDK, is nu gemarkeerd als verouderd. Alle ontwikkeling van de gateway-invoegtoepassing moet IPlugIn (of optioneel de abstracte klasse HttpPlugIn) gebruiken.
Voorbeeld downloaden van GitHub
Als u snel aan de slag wilt met een aangepaste gatewayinvoegtoepassing, kunt u een kopie van ons voorbeeldproject van de C#-invoegtoepassing klonen of downloaden van onze Windows Admin Center SDK GitHub-site.
Inhoud toevoegen
Voeg nieuwe inhoud toe aan uw gekloonde kopie van het voorbeeldproject van de C#-invoegtoepassing project (of uw eigen project) om uw aangepaste API's te bevatten en bouw vervolgens het DLL-bestand voor de aangepaste gatewayinvoegtoepassing dat in de volgende stappen moet worden gebruikt.
Invoegtoepassing implementeren voor testen
Test het DLL-bestand van uw aangepaste gatewayinvoegtoepassing door deze te laden in het Gatewayproces van het Windows-beheercentrum.
Windows Admin Center zoekt naar alle invoegtoepassingen in een plugins
map in de map Application Data van de huidige computer (met behulp van de CommonApplicationData-waarde van de opsomming Environment.SpecialFolder). In Windows 10 is deze locatie C:\ProgramData\Server Management Experience
. Als de map plugins
nog niet bestaat, kunt u de map zelf maken.
Notitie
U kunt de locatie van de invoegtoepassing overschrijven in een foutopsporingsbuild door de configuratiewaarde StaticsFolder bij te werken. Als u lokaal fouten opspoort, bevindt deze instelling zich in de App.Config van de bureaubladoplossing.
In de map met invoegtoepassingen (in dit voorbeeld C:\ProgramData\Server Management Experience\plugins
)
- Maak een nieuwe map met dezelfde naam als de eigenschapswaarde
Name
van deFeature
in het DLL-bestand van de aangepaste gatewayinvoegtoepassing (in ons voorbeeldproject is deName
'Voorbeeld-Uno') - Kopieer het DLL-bestand van de aangepaste gateway-invoegtoepassing naar deze nieuwe map
- Het Windows-beheercentrumproces opnieuw starten
Nadat het Windows Admin-proces opnieuw is opgestart, kunt u de API's in de DLL van uw aangepaste gateway-invoegtoepassing gebruiken door een GET-, PUT-, PATCH-, DELETE- of POST-verzoek uit te voeren op http(s)://{domain|localhost}/api/nodes/{node}/features/{feature name}/{identifier}
.
Optioneel: Aanvullen met plugin voor debuggen
Selecteer in Visual Studio 2017 in het menu Foutopsporing de optie 'Bijvoegen aan proces'. Blader in het volgende venster door de lijst Beschikbare processen en selecteer SMEDesktop.exeen selecteer vervolgens 'Bijvoegen'. Zodra het foutopsporingsprogramma is gestart, kunt u een onderbrekingspunt in uw functiecode plaatsen en vervolgens oefenen met de URL-indeling. Voor ons voorbeeldproject (functienaam: 'Voorbeeld-Uno') is de URL: "<http://localhost:6516/api/nodes/fake-server.my.domain.com/features/Sample%20Uno>"
Een hulpprogramma-extensie maken met de Windows Admin Center SDK
Nu moeten we een hulpprogramma-extensie maken waaruit u uw aangepaste gateway-invoegtoepassing kunt aanroepen. Maak of blader naar een map waarin u uw projectbestanden wilt opslaan, open een opdrachtprompt en stel die map in als de werkmap. Maak met behulp van de Windows Admin Center SDK die eerder is geïnstalleerd een nieuwe extensie met de volgende syntaxis:
wac create --company "{!Company Name}" --tool "{!Tool Name}"
Waarde | Uitleg | Voorbeeld |
---|---|---|
{!Company Name} |
De bedrijfsnaam (met spaties) | Contoso Inc |
{!Tool Name} |
De naam van het hulpprogramma (met spaties) | Manage Foo Works |
Hier volgt een voorbeeld van het gebruik:
wac create --company "Contoso Inc" --tool "Manage Foo Works"
Met deze opdracht maakt u een nieuwe map in de huidige werkmap met de naam die u voor het hulpprogramma hebt opgegeven, kopieert u alle benodigde sjabloonbestanden naar uw project en configureert u de bestanden met de naam van uw bedrijf en hulpprogramma.
Navigeer vervolgens naar de map en installeer de vereiste lokale afhankelijkheden door de onderstaande opdracht uit te voeren.
npm install
Zodra deze opdracht is voltooid, bent u ingesteld met alles wat u nodig hebt om uw nieuwe extensie in het Windows-beheercentrum te laden.
Uw hulpprogramma-extensie verbinden met uw aangepaste gatewayinvoegtoepassing
Nu u een extensie hebt gemaakt met de Windows Admin Center SDK, bent u klaar om uw hulpprogramma-extensie te verbinden met uw aangepaste gatewayinvoegtoepassing door de volgende stappen uit te voeren:
- Een lege module toevoegen
- Gebruik uw aangepaste gateway-plug-in in uw tool-extensie
Uw extensie bouwen en sideloaden
Vervolgens kunt u uw extensie in het Windows-beheercentrum bouwen en sideloaden. Open een opdrachtvenster, wijzig de map in uw bronmap en vervolgens bent u klaar om te bouwen.
Met gulp bouwen en serveren.
gulp build gulp serve -p 4201
De poort die u kiest, moet momenteel gratis zijn. Zorg ervoor dat u niet probeert de poort te gebruiken waarop Het Windows-beheercentrum wordt uitgevoerd.
Uw project kan worden geladen in een lokaal exemplaar van het Windows-beheercentrum om te testen door het lokaal uitgevoerde project te koppelen aan het Windows-beheercentrum.
Windows Admin Center starten in een webbrowser
Open het foutopsporingsprogramma (F12)
Open de console en typ de volgende opdracht:
MsftSme.sideLoad("http://localhost:4201")
De webbrowser vernieuwen
Uw project is nu zichtbaar in de tools lijst met (zijgeladen) naast de naam.
Richt u op een andere versie van de Windows Admin Center SDK
Het is eenvoudig om uw extensie up-to-date te houden met SDK-wijzigingen en platformwijzigingen. Meer informatie over het richten op een andere versie van de Windows Admin Center SDK.