Dela via


Registrering av konsoltillägg via community-hubb

Konsoltilläggsförfattare kan bidra med tillägg som de har skrivit till community-hubben. Användare av communityhubben kan ladda ned tilläggen och hantera installationen av dem i sin Configuration Manager hierarki. Genom att bidra med tillägg via Community Hub ersätts den tidigare distributionsprocessen.

Versionsinformation

Om du vill ladda ned konsoltillägg från Community-hubben behöver du antingen:

  • En teknisk förhandsversion av Configuration Manager
  • Configuration Manager version 2103 eller senare

Du kan testa dina egna signerade tillägg genom att importera dem lokalt med följande versioner:

  • En teknisk förhandsversion av Configuration Manager
  • Configuration Manager version 2103 eller senare

Du kan importera ett osignerat tillägg lokalt. Osignerade tillägg är endast för lokal import och testning. Osignerade tillägg kan inte skickas till Community Hub. Import av ett osignerat tillägg kräver någon av följande versioner:

Från och med version 2111 kan du importera både signerade och osignerade tillägg med hjälp av guiden Importera konsoltillägg.

Förhandskrav

Om du vill registrera ett konsoltillägg i community-hubben för att Configuration Manager administratörer ska kunna ladda ned behöver du följande krav:

  • Uppfylla alla förutsättningar för att bidra till community-hubben

  • Configuration Manager fullständig administratör med alla omfångsrättigheter.

  • En giltig nyttolast i en authenticode-signerad .cab fil när du är redo att publicera. Filen .cab måste innehålla följande objekt:

    • En manifestfil med namnet manifest.xml
    • Författaren och versionen av tillägget måste anges i manifest.xml
    • Alla relevanta filer för tillägget måste finnas i .cab filen
      • Varje fil måste anges i manifestet och ha rätt namn och SHA256-hash

Skapa ett tillägg

Att skapa ditt tillägg för community-hubben skiljer sig inte mycket från hur det gjordes tidigare. Det finns dock inte längre något behov av att installera filerna i respektive %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions mapp. Det här är en del av den nya manifest.xml filens funktion. Du kan fortfarande skapa följande objekt:

  • Åtgärder
  • Forms
  • Hanteringsklasser
  • Noder
  • Visningar
  • Integrera dina egna anpassade guider i Configuration Manager-konsolen med hjälp av ett guideramverk som du väljer
    • Du kan inte skapa guider med hjälp av det befintliga Configuration Manager-konsolramverket.
    • Du kan inte ändra eller ta bort steg från befintliga Configuration Manager guider.

Tips

Från Community Hubs GitHub-lagringsplats kan du ladda ned ett exempeltilläggs cab-fil.

Skapa en giltig cab-fil för nyttolast

När du har skapat filerna för tillägget skapar manifest.xml du filen och paketera dem sedan tillsammans i en authenticode-signerad .cab fil.

  • En giltig nyttolast i en authenticode-signerad .cab fil. Filen .cab måste innehålla följande objekt:
    • En manifestfil med namnet manifest.xml
    • Författaren och versionen av tillägget måste anges i manifest.xml
    • Alla relevanta filer för tillägget måste finnas i .cab filen
      • Varje fil måste anges i manifestet och ha rätt namn och SHA256-hash

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>

Exempel på manifest.xml fil:

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

Registrera tillägget till en plats för testning

När du har ditt tillägg inbyggt och paketerat i en authenticode-signerad .cab fil kan du testa det i en Configuration Manager labbmiljö. Du gör detta genom att publicera det via administrationstjänsten. När tillägget har infogats på platsen kan du godkänna det och installera det lokalt från noden Konsoltillägg .

Viktigt

För lokal testning kan du importera osignerade konsoltillägg när du använder version 2107 eller senare. Mer information och ytterligare importmetoder finns i Importera konsoltillägg.

  1. Kör följande PowerShell-skript när du har redigerat $adminServiceProvider och $cabFilePath:

    • $adminServiceProvider – SMSProvider-servern på den översta nivån där administrationstjänsten är installerad
    • $cabFilePath – Sökväg till tilläggets authenticode-signerade .cab fil
    $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. I Configuration Manager-konsolen går du tillAdministrationsöversikt>>Uppdateringar- ochservicekonsoltillägg>.

  3. Välj ditt tillägg och välj sedan Godkänn installation.

  4. Om du vill installera tillägget på den aktuella konsolen väljer du Installera under Lokalt tillägg.

  5. Om du kör PowerShell-skriptet igen med samma tillägg och samma version skrivs den befintliga versionen över.

Dela ditt tillägg på community-hubben

Gäller endast för tekniska förhandsversioner av Configuration Manager

Kontrollera att du har anslutit till community-hubben och att du har accepterat inbjudan när din anslutningsbegäran har godkänts. Du bidrar med tillägg på samma sätt som du skulle bidra med andra community hub-objekt. För det finns dock ytterligare krav och ytterligare information som du behöver ange för ett tillägg. När du bidrar med ett konsoltillägg till Community Hub måste innehållet signeras. Innehåll för konsoltillägg hanteras inte av Microsoft. När du bidrar med ditt objekt uppmanas du att ange en plats för den signerade .cab filen tillsammans med annan information för tillägget. Följande objekt krävs för bidragande tillägg:

  • Innehålls-URL: Plats för den nedladdningsbara .cab filen
  • SHA-256-hash för innehållet: SHA-256-hash för .cab filen
  • Licens-URL: URL för licensen för tillägget, till exempel https://mit-license.org/
  • URL för sekretesspolicy: URL för din sekretesspolicy

Viktigt

Om du importerar ett tillägg lokalt till konsolen genom att publicera det via administrationstjänsten misslyckas nedladdningen om du försöker ladda ned samma tillägg från communityhubben. Om du vill testa nedladdningen av tillägget från Community Hub tar du bort det importerade tillägget och laddar sedan ned från Community Hub.

Nästa steg