Sdílet prostřednictvím


Registrace rozšíření konzoly prostřednictvím centra komunity

Autoři rozšíření konzoly můžou přispívat rozšířeními, která napsali do centra komunity. Uživatelé centra komunity si můžou stáhnout rozšíření a spravovat jejich instalaci v hierarchii Configuration Manager. Přispívání rozšíření prostřednictvím centra Komunity nahrazuje předchozí proces nasazení.

Informace o verzi

Pokud chcete stáhnout rozšíření konzoly z centra Komunita, budete potřebovat:

  • Technical Preview verze Configuration Manager
  • Configuration Manager verze 2103 nebo novější

Vlastní podepsaná rozšíření můžete otestovat tak, že je naimportujete místně s následujícími verzemi:

  • Technical Preview verze Configuration Manager
  • Configuration Manager verze 2103 nebo novější

Nepodepsané rozšíření můžete importovat místně. Nepodepsaná rozšíření jsou určena pouze pro účely místního importu a testování. Nepodepsaná rozšíření nelze odeslat do centra Komunity. Import nepodepsaného rozšíření vyžaduje jednu z následujících verzí:

Od verze 2111 můžete importovat podepsané i nepodepsané rozšíření pomocí průvodce importem rozšíření konzoly.

Požadavky

Pokud chcete zaregistrovat rozšíření konzoly v centru komunity pro správce Configuration Manager ke stažení, budete potřebovat následující požadavky:

  • Splnění všech požadavků pro přispívání do centra komunity

  • Configuration Manager úplný správce se všemi oborovými právy.

  • Jakmile budete připraveni k publikování, platná datová část v souboru s podpisem .cab authenticode. Soubor .cab musí obsahovat následující položky:

    • Soubor manifestu s názvem manifest.xml
    • Autor a verze rozšíření musí být uvedené v manifest.xml
    • Všechny relevantní soubory pro příponu musí být v .cab souboru
      • Každý soubor musí být uvedený v manifestu a musí mít správný název a hodnotu hash SHA256.

Vytvoření rozšíření

Vytvoření rozšíření pro centrum komunity se příliš neliší od předchozího postupu. Už ale není potřeba instalovat soubory do příslušné %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions složky. Toto je součástí funkce nového manifest.xml souboru. Přesto můžete vytvořit následující položky:

  • Akce
  • Formuláře
  • Třídy pro správu
  • Uzly
  • Zobrazení
  • Integrace vlastních průvodců do konzoly Configuration Manager pomocí architektury průvodce podle vašeho výběru
    • Průvodce nemůžete vytvářet pomocí existující architektury konzoly Configuration Manager.
    • V existujících průvodcích Configuration Manager nemůžete kroky upravovat ani odebírat.

Tip

Z úložiště GitHub centra komunity si můžete stáhnout soubor cab ukázkového rozšíření.

Vytvoření platného souboru CAB datové části

Jakmile vytvoříte soubory pro rozšíření, vytvoříte manifest.xml soubor a pak je všechny zabalíte do souboru s podpisem .cab authenticode.

  • Platná datová část v souboru s podpisem .cab authenticode. Soubor .cab musí obsahovat následující položky:
    • Soubor manifestu s názvem manifest.xml
    • Autor a verze rozšíření musí být uvedené v manifest.xml
    • Všechny relevantní soubory pro příponu musí být v .cab souboru
      • Každý soubor musí být uvedený v manifestu a musí mít správný název a hodnotu hash SHA256.

formát Manifest.xml:

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

Příklad souboru 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>

Registrace rozšíření na webu pro účely testování

Když máte rozšíření sestavené a zabalené do souboru podepsaného .cab pomocí authenticode, můžete ho otestovat v Configuration Manager testovacím prostředí. Uděláte to tak, že ho zveřejníte prostřednictvím služby správy. Po vložení rozšíření do lokality ho můžete schválit a nainstalovat místně z uzlu Rozšíření konzoly .

Důležité

Pro místní testování můžete importovat nepodepsaná rozšíření konzoly, pokud používáte verzi 2107 nebo novější. Další informace a další metody importu najdete v tématu Import rozšíření konzoly.

  1. Po úpravě a $cabFilePathspusťte následující skript PowerShellu$adminServiceProvider:

    • $adminServiceProvider – Server SMSProvider nejvyšší úrovně, na kterém je nainstalovaná služba správy
    • $cabFilePath - Cesta k souboru s podpisem .cab authenticode přípony
    $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. V konzole Configuration Manager přejděte naPřehled>správy>Aktualizace a Rozšíření konzoly údržby>.

  3. Vyberte rozšíření a pak zvolte Schválit instalaci.

  4. Pokud chcete rozšíření nainstalovat do aktuální konzoly, vyberte Nainstalovat v části Místní rozšíření.

  5. Opětovné spuštění skriptu PowerShellu se stejným rozšířením a stejnou verzí přepíše aktuální existující.

Sdílení rozšíření v centru komunity

Platí jenom pro verze Configuration Manager Technical Preview.

Ujistěte se, že jste se připojili k centru komunity a že jste pozvání po schválení žádosti o připojení přijali. Rozšíření přispíváte stejným způsobem jako ostatní objekty centra komunity. Pro rozšíření však existují další požadavky a další informace, které musíte poskytnout. Když do centra Komunity přispíváte rozšířením konzoly, musí být obsah podepsaný. Obsah rozšíření konzoly není hostován službou Microsoft. Když přispíváte svojí položkou, zobrazí se výzva k zadání umístění podepsaného .cab souboru spolu s dalšími informacemi pro rozšíření. K přispívání rozšíření se vyžadují následující položky:

  • Adresa URL obsahu: Umístění souboru ke stažení .cab
  • Sha-256 hash obsahu: SHA-256 hash .cab souboru
  • Adresa URL licence: Adresa URL licence pro rozšíření, například https://mit-license.org/
  • Adresa URL prohlášení o zásadách ochrany osobních údajů: Adresa URL vašeho prohlášení o zásadách ochrany osobních údajů

Důležité

Pokud importujete rozšíření místně do konzoly tak, že ho publikujete prostřednictvím služby pro správu, stahování se nezdaří, pokud se pokusíte stáhnout stejné rozšíření z centra Komunita. Pokud chcete otestovat stažení rozšíření z centra Komunita, odstraňte importované rozšíření a pak ho stáhněte z centra Komunita.

Další kroky