Delen via


Registratie van console-extensie via Community Hub

Auteurs van console-extensies kunnen extensies bijdragen die ze hebben geschreven naar de communityhub. Community Hub-gebruikers kunnen de extensies downloaden en de installatie ervan beheren in hun Configuration Manager hiërarchie. Het bijdragen van extensies via Community Hub vervangt het vorige implementatieproces.

Versiegegevens

Als u console-extensies wilt downloaden van de Community-hub, hebt u het volgende nodig:

  • Een technical preview-versie van Configuration Manager
  • Configuration Manager versie 2103 of hoger

U kunt uw eigen ondertekende extensies testen door ze lokaal te importeren met de volgende versies:

  • Een technical preview-versie van Configuration Manager
  • Configuration Manager versie 2103 of hoger

U kunt een niet-ondertekende extensie lokaal importeren . Niet-ondertekende extensies zijn alleen bedoeld voor lokale import- en testdoeleinden. Niet-ondertekende extensies kunnen niet worden verzonden naar Community Hub. Voor het importeren van een niet-ondertekende extensie is een van de volgende versies vereist:

Vanaf versie 2111 kunt u zowel ondertekende als niet-ondertekende extensies importeren met behulp van de wizard Consoleextensie importeren.

Voorwaarden

Als u een console-extensie wilt registreren in de communityhub zodat Configuration Manager beheerders kunnen downloaden, hebt u de volgende vereisten nodig:

  • Voldoen aan alle vereisten voor het bijdragen aan de community-hub

  • Configuration Manager volledige beheerder met alle bereikrechten.

  • Een geldige nettolading in een door authenticode ondertekend .cab bestand zodra u klaar bent om te publiceren. Het .cab bestand moet de volgende items bevatten:

    • Een manifestbestand met de naam manifest.xml
    • De auteur en versie van de extensie moeten worden vermeld in de manifest.xml
    • Alle relevante bestanden voor de extensie moeten zich in het .cab bestand bevinden
      • Elk bestand moet worden vermeld in het manifest en de juiste naam en SHA256-hash hebben

Een extensie maken

Het maken van uw extensie voor community hub wijkt niet veel af van de manier waarop het eerder is gedaan. Het is echter niet meer nodig om de bestanden in hun respectieve %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions map te installeren. Dit maakt deel uit van de functie van het nieuwe manifest.xml bestand. U kunt nog steeds de volgende items maken:

  • Acties
  • Forms
  • Beheerklassen
  • Knooppunten
  • Weergaven
  • Uw eigen aangepaste wizards integreren in de Configuration Manager-console met behulp van een wizardframework van uw keuze
    • U kunt geen wizards maken met behulp van het bestaande Configuration Manager consoleframework.
    • U kunt geen stappen wijzigen of verwijderen uit de bestaande Configuration Manager wizards.

Tip

Vanuit de GitHub-opslagplaats van de communityhub kunt u het cab-bestand van een voorbeeldextensie downloaden.

Een geldig cab-bestand voor nettolading maken

Zodra u de bestanden voor uw extensie hebt gemaakt, maakt u het manifest.xml bestand en verpakt u ze allemaal in een bestand met authenticode-handtekening .cab .

  • Een geldige nettolading in een door authenticode ondertekend .cab bestand. Het .cab bestand moet de volgende items bevatten:
    • Een manifestbestand met de naam manifest.xml
    • De auteur en versie van de extensie moeten worden vermeld in de manifest.xml
    • Alle relevante bestanden voor de extensie moeten zich in het .cab bestand bevinden
      • Elk bestand moet worden vermeld in het manifest en de juiste naam en SHA256-hash hebben

Manifest.xml indeling:

<CustomExtensionManifest ExtensionID="{A GUID to identify this extension}" Name="{Name of the extension to be shown in the Console Extension node}" Description="{Description of the extension to be shown in the Console Extension node" Version="{The version of the extension to be shown in the Console Extension node. For example:1.0}" Author="{The author of the extension to be shown in the Console Extension node}">
	<Deployments>
		<ActionExtensionDeployment ParentNode="{the GUID that identify the folder/node you want to place the action under}">
			<FileList>
				<File Name="{The name of the xml file that defines the action. For example: MyAction.xml}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
			</FileList>
		</ActionExtensionDeployment>
		<NodeExtensionDeployment ParentNode="{the GUID that identify the folder you want to place the node under}">
			<FileList>
				<File Name="{The name of the xml file that defines the node. For example: MyNode.xml}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
			</FileList>
		</NodeExtensionDeployment>
		<FormExtensionDeployment>
			<FileList>
				<File Name="{The name of the xml file that defines the form. For example: MyForm.xml}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
				<File Name="{The name of the dll file that defines the form. For example: MyForm.dll}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
			</FileList>
		</FormExtensionDeployment>
		<ManagementClassExtensionDeployment>
			<FileList>
				<File Name="{The name of the xml file that defines the WMI class. For example: MyClass.xml}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
				<File Name="{The name of the dll file that defines the WMI class. For example: MyClass.dll}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
			</FileList>
		</ManagementClassExtensionDeployment>
		<ViewExtensionDeployment>
			<FileList>
				<File Name="{The name of the dll file that defines the view. For example: MyView.dll}">
					<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
				</File>
			</FileList>
		</ViewExtensionDeployment>
        <CabExtensionDeployment>
            <FileList>
                <File Name="{The name of the cab file to deploy. CabExtensionDeployment is used when your payload cab file contains a cab within it that needs to be deployed.  For example: MyCab.cab}">
                    <Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
                </File>
            </FileList>
        </CabExtensionDeployment>
	</Deployments>
</CustomExtensionManifest>

Voorbeeld van manifest.xml bestand:

<CustomExtensionManifest ExtensionID="808b9ce3-e574-49be-82be-64ed35d800c5" Name="Nice Console Node and Console Action Extension" Description="Very Useful Extension" Version="1.1" Author="Me">
	<Deployments>
		<NodeExtensionDeployment ParentNode="d61498cb-7b3f-4748-ae3e-026674fb0cbd">
			<FileList>
				<File Name="Test.xml">
					<Hash Algorithm="sha256">543F2947AEA734B6833F275091AC6A159C0FCD341373D6E53062E37281B602B3</Hash>
				</File>
			</FileList>
		</NodeExtensionDeployment>
      <ActionExtensionDeployment ParentNode="172d85e7-bb7a-4479-a6a2-768f175b75cb">
        <FileList>
          <File Name="Test2.xml">
            <Hash Algorithm="sha256">C60FB69B86BF9B2E924FF272292CA2C97864D636B8190C95DC926049651A002E</Hash>
          </File>
        </FileList>
      </ActionExtensionDeployment>
	</Deployments>
</CustomExtensionManifest>

De extensie registreren bij een site om te testen

Wanneer u uw extensie hebt gebouwd en verpakt in een door authenticode ondertekend .cab bestand, kunt u deze testen in een Configuration Manager-testomgeving. U doet dit door het te posten via de beheerservice. Zodra de extensie is ingevoegd in de site, kunt u deze goedkeuren en lokaal installeren vanaf het knooppunt Consoleextensies .

Belangrijk

Voor lokale tests kunt u niet-ondertekende consoleextensies importeren wanneer u versie 2107 of hoger gebruikt. Zie Consoleextensies importeren voor meer informatie en aanvullende importmethoden.

  1. Voer het volgende PowerShell-script uit nadat u het $adminServiceProvider en hebt $cabFilePathbewerkt:

    • $adminServiceProvider - De SMSProvider-server op het hoogste niveau waarop de beheerservice is geïnstalleerd
    • $cabFilePath - Pad naar het door authenticode ondertekende .cab bestand van de extensie
    $adminServiceProvider = "SMSProviderServer.contoso.com"
    $cabFilePath = "C:\Testing\MyExtension.cab"
    $adminServiceURL = "https://$adminServiceProvider/AdminService/v1/ConsoleExtensionMetadata/AdminService.UploadExtension"
    $cabFileName = (Get-Item -Path $cabFilePath).Name
    $Data = Get-Content $cabFilePath
    $Bytes = [System.IO.File]::ReadAllBytes($cabFilePath)
    $base64Content = [Convert]::ToBase64String($Bytes)
    
    $Headers = @{
        "Content-Type" = "Application/json"
    }
    
    $Body = @{
                CabFile = @{
                    FileName = $cabFileName
                    FileContent = $base64Content
                }
            } | ConvertTo-Json
    
    $result = Invoke-WebRequest -Method Post -Uri $adminServiceURL -Body $Body -Headers $Headers -UseDefaultCredentials
    
    if ($result.StatusCode -eq 200) {Write-Host "$cabFileName was published successfully."}
    else {Write-Host "$cabFileName publish failed. Review AdminService.log for more information."}
    
  2. Ga in de Configuration Manager-console naarBeheeroverzicht>>Updates en Servicing>Console Extensions.

  3. Selecteer uw extensie en kies vervolgens Installatie goedkeuren.

  4. Als u de extensie op de huidige console wilt installeren, selecteert u Installeren onder Lokale extensie.

  5. Als u het PowerShell-script opnieuw uitvoert met dezelfde extensie en dezelfde versie, wordt het huidige bestaande script overschreven.

Uw extensie delen op Community Hub

Is alleen van toepassing op technical preview-versies van Configuration Manager

Zorg ervoor dat u lid bent geworden van de communityhub en dat u de uitnodiging hebt geaccepteerd nadat uw deelnameaanvraag is goedgekeurd. U draagt extensies bij op dezelfde manier als andere Community Hub-objecten. Er zijn echter aanvullende vereisten en aanvullende informatie die u moet opgeven voor een extensie. Wanneer u een console-extensie aan Community Hub bijdraagt, moet de inhoud worden ondertekend. Inhoud voor consoleextensies wordt niet gehost door Microsoft. Wanneer u uw item bijdraagt, wordt u gevraagd om een locatie voor het ondertekende .cab bestand op te geven, samen met andere informatie voor de extensie. De volgende items zijn vereist voor bijdragende extensies:

  • Inhouds-URL: locatie voor het downloadbare .cab bestand
  • SHA-256-hash van de inhoud: SHA-256-hash van het .cab bestand
  • Licentie-URL: URL van de licentie voor de extensie, zoals https://mit-license.org/
  • URL van privacyverklaring: URL van uw privacyverklaring

Belangrijk

Als u een extensie lokaal in de console importeert door deze te posten via de beheerservice, mislukt het downloaden als u dezelfde extensie probeert te downloaden vanuit de Community-hub. Als u het downloaden van uw extensie van de Community-hub wilt testen, verwijdert u de geïmporteerde extensie en downloadt u deze vervolgens vanuit Community Hub.

Volgende stappen