Teilen über


Registrierung der Konsolenerweiterung über community hub

Konsolenerweiterungsautoren können Erweiterungen beitragen, die sie in den Community Hub geschrieben haben. Community Hub-Benutzer können die Erweiterungen herunterladen und deren Installation in ihrer Configuration Manager Hierarchie verwalten. Das Bereitstellen von Erweiterungen über community hub ersetzt den vorherigen Bereitstellungsprozess.

Informationen zur Version

Zum Herunterladen von Konsolenerweiterungen vom Community Hub benötigen Sie eine der folgenden Optionen:

  • Eine Technical Preview-Version von Configuration Manager
  • Configuration Manager Version 2103 oder höher

Sie können Ihre eigenen signierten Erweiterungen testen, indem Sie sie lokal mit den folgenden Versionen importieren:

  • Eine Technical Preview-Version von Configuration Manager
  • Configuration Manager Version 2103 oder höher

Sie können eine nicht signierte Erweiterung lokal importieren . Nicht signierte Erweiterungen dienen nur zu lokalen Import- und Testzwecken. Nicht signierte Erweiterungen können nicht an Community Hub übermittelt werden. Für das Importieren einer nicht signierten Erweiterung ist eine der folgenden Versionen erforderlich:

Ab Version 2111 können Sie sowohl signierte als auch nicht signierte Erweiterungen mithilfe des Assistenten zum Importieren von Konsolenerweiterungen importieren.

Voraussetzungen

Um eine Konsolenerweiterung im Community Hub für Configuration Manager Administratoren zum Herunterladen zu registrieren, benötigen Sie die folgenden Voraussetzungen:

  • Alle Voraussetzungen für die Mitwirkung am Community Hub erfüllen

  • Configuration Manager Volladministrator mit Allen Bereichsrechten.

  • Eine gültige Nutzlast in einer mit Authenticode signierten .cab Datei, sobald Sie zur Veröffentlichung bereit sind. Ihre .cab Datei muss die folgenden Elemente enthalten:

    • Eine Manifestdatei mit dem Namen manifest.xml
    • Der Autor und die Version der Erweiterung müssen im manifest.xml
    • Alle relevanten Dateien für die Erweiterung müssen sich in der .cab Datei befinden.
      • Jede Datei muss im Manifest aufgeführt sein und den richtigen Namen und SHA256-Hash aufweisen.

Erstellen einer Erweiterung

Das Erstellen Ihrer Erweiterung für den Community Hub unterscheidet sich nicht wesentlich von der bisherigen Vorgehensweise. Es ist jedoch nicht mehr erforderlich, die Dateien in ihrem jeweiligen %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions Ordner zu installieren. Dies ist Teil der Funktion der neuen manifest.xml Datei. Sie können weiterhin die folgenden Elemente erstellen:

  • Aktionen
  • Forms
  • Verwaltungsklassen
  • Nodes
  • Ansichten
  • Integrieren Eigener benutzerdefinierter Assistenten in die Configuration Manager-Konsole mithilfe eines Assistentenframeworks Ihrer Wahl
    • Sie können keine Assistenten mit dem vorhandenen Configuration Manager-Konsolenframework erstellen.
    • Sie können keine Schritte aus den vorhandenen Configuration Manager-Assistenten ändern oder entfernen.

Tipp

Aus dem GitHub-Repository des Community Hubs können Sie die CAB-Datei einer Beispielerweiterung herunterladen.

Erstellen einer gültigen Nutzlast-CAB-Datei

Nachdem Sie die Dateien für Ihre Erweiterung erstellt haben, erstellen Sie die manifest.xml Datei und packen sie dann alle in einer mit Authenticode signierten .cab Datei.

  • Eine gültige Nutzlast in einer mit Authenticode signierten .cab Datei. Ihre .cab Datei muss die folgenden Elemente enthalten:
    • Eine Manifestdatei mit dem Namen manifest.xml
    • Der Autor und die Version der Erweiterung müssen im manifest.xml
    • Alle relevanten Dateien für die Erweiterung müssen sich in der .cab Datei befinden.
      • Jede Datei muss im Manifest aufgeführt sein und den richtigen Namen und SHA256-Hash aufweisen.

Manifest.xml Format:

<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>

Beispieldatei manifest.xml:

<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>

Registrieren der Erweiterung für einen Standort zum Testen

Wenn Sie Ihre Erweiterung in eine mit Authenticode signierte .cab Datei integriert und gepackt haben, können Sie sie in einer Configuration Manager Labumgebung testen. Dazu veröffentlichen Sie sie über den Verwaltungsdienst. Nachdem die Erweiterung in den Standort eingefügt wurde, können Sie sie genehmigen und lokal über den Knoten Konsolenerweiterungen installieren.

Wichtig

Für lokale Tests können Sie nicht signierte Konsolenerweiterungen importieren, wenn Sie Version 2107 oder höher verwenden. Weitere Informationen und zusätzliche Importmethoden finden Sie unter Importieren von Konsolenerweiterungen.

  1. Führen Sie das folgende PowerShell-Skript aus, nachdem Sie und $cabFilePathbearbeitet $adminServiceProvider haben:

    • $adminServiceProvider – Der SMSProvider-Server der obersten Ebene, auf dem der Verwaltungsdienst installiert ist
    • $cabFilePath – Pfad zur mit Authenticode signierten .cab Datei der Erweiterung
    $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. Wechseln Sie in der Configuration Manager-Konsole zuVerwaltungsübersicht>>Aktualisierungen undWartungskonsolenerweiterungen>.

  3. Wählen Sie Ihre Erweiterung und dann Installation genehmigen aus.

  4. Um die Erweiterung in der aktuellen Konsole zu installieren, wählen Sie unter Lokale Erweiterungdie Option Installieren aus.

  5. Durch erneutes Ausführen des PowerShell-Skripts mit derselben Erweiterung und derselben Version wird die aktuelle vorhandene Überschreibung überschrieben.

Teilen Ihrer Erweiterung im Community Hub

Gilt nur für Technical Preview-Versionen von Configuration Manager

Stellen Sie sicher, dass Sie dem Community Hub beigetreten sind und die Einladung akzeptiert haben, nachdem Ihre Beitrittsanfrage genehmigt wurde. Sie tragen Erweiterungen auf die gleiche Weise bei, wie Sie andere Community Hub-Objekte beitragen würden. Es gibt jedoch zusätzliche Anforderungen und zusätzliche Informationen, die Sie für eine Erweiterung angeben müssen. Wenn Sie eine Konsolenerweiterung zum Community Hub beitragen, muss der Inhalt signiert werden. Inhalte für Konsolenerweiterungen werden nicht von Microsoft gehostet. Wenn Sie Ihr Element beitragen, werden Sie aufgefordert, einen Speicherort für die signierte .cab Datei zusammen mit anderen Informationen für die Erweiterung anzugeben. Die folgenden Elemente sind für beitragende Erweiterungen erforderlich:

  • Inhalts-URL: Speicherort für die herunterladbare .cab Datei
  • SHA-256-Hash des Inhalts: SHA-256-Hash der .cab Datei
  • Lizenz-URL: URL der Lizenz für die Erweiterung, z. B. https://mit-license.org/
  • URL der Datenschutzerklärung: URL Ihrer Datenschutzerklärung

Wichtig

Wenn Sie eine Erweiterung lokal in die Konsole importieren, indem Sie sie über den Verwaltungsdienst veröffentlichen, schlägt der Download fehl, wenn Sie versuchen, die gleiche Erweiterung vom Community Hub herunterzuladen. Um den Download Ihrer Erweiterung vom Community Hub zu testen, löschen Sie die importierte Erweiterung, und laden Sie sie dann aus dem Community Hub herunter.

Nächste Schritte