Rejestracja rozszerzenia konsoli w centrum społeczności

Autorzy rozszerzeń konsoli mogą współtworzyć rozszerzenia napisane w centrum społeczności. Użytkownicy centrum społeczności mogą pobierać rozszerzenia i zarządzać ich instalacją w hierarchii Configuration Manager. Współtworzenie rozszerzeń za pośrednictwem community hub zastępuje poprzedni proces wdrażania.

Wersja

Aby pobrać rozszerzenia konsoli z centrum Community Hub, musisz wykonać jedną z następujących czynności:

  • Wersja techniczna wersji zapoznawczej Configuration Manager
  • Configuration Manager wersji 2103 lub nowszej

Możesz przetestować własne podpisane rozszerzenia, importując je lokalnie z następującymi wersjami:

  • Wersja techniczna wersji zapoznawczej Configuration Manager
  • Configuration Manager wersji 2103 lub nowszej

Możesz zaimportować niepodpisane rozszerzenie lokalnie. Niepodpisane rozszerzenia są przeznaczone tylko do celów importu lokalnego i testowania. Nie można przesłać niepodpisanych rozszerzeń do Centrum społeczności. Importowanie niepodpisanego rozszerzenia wymaga jednej z następujących wersji:

Począwszy od wersji 2111, możesz zaimportować zarówno podpisane, jak i niepodpisane rozszerzenia przy użyciu kreatora importowania rozszerzenia konsoli.

Wymagania wstępne

Aby zarejestrować rozszerzenie konsoli w centrum społeczności dla administratorów Configuration Manager do pobrania, potrzebne są następujące wymagania wstępne:

  • Spełnianie wszystkich wymagań wstępnych dotyczących współtworzenia centrum społeczności

  • Configuration Manager pełnego administratoraz wszystkimi prawami zakresu.

  • Prawidłowy ładunek w pliku z podpisem .cab authenticode po zakończeniu publikowania. Plik .cab musi zawierać następujące elementy:

    • Plik manifestu o nazwie manifest.xml
    • Autor i wersja rozszerzenia muszą być wymienione w manifest.xml
    • Wszystkie odpowiednie pliki dla rozszerzenia muszą znajdować się .cab w pliku
      • Każdy plik musi być wymieniony w manifeście i mieć poprawną nazwę i skrót SHA256

Tworzenie rozszerzenia

Tworzenie rozszerzenia dla centrum społeczności nie różni się zbytnio od poprzedniego. Nie trzeba już jednak instalować plików w odpowiednim %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions folderze. Jest to część funkcji nowego manifest.xml pliku. Nadal można utworzyć następujące elementy:

  • Działania
  • Formularzy
  • Klasy zarządzania
  • Węzłów
  • Widoki
  • Integrowanie własnych kreatorów niestandardowych z konsolą Configuration Manager przy użyciu wybranej struktury kreatora
    • Nie można tworzyć kreatorów przy użyciu istniejącej struktury konsoli Configuration Manager.
    • Nie można modyfikować ani usuwać kroków z istniejących kreatorów Configuration Manager.

Porada

Z repozytorium GitHub centrum społeczności możesz pobrać plik cab przykładowego rozszerzenia.

Tworzenie prawidłowego pliku cab ładunku

Po utworzeniu plików dla rozszerzenia utworzysz manifest.xml plik, a następnie spakujesz je wszystkie razem w pliku z podpisem .cab authenticode.

  • Prawidłowy ładunek w pliku z podpisem .cab authenticode. Plik .cab musi zawierać następujące elementy:
    • Plik manifestu o nazwie manifest.xml
    • Autor i wersja rozszerzenia muszą być wymienione w manifest.xml
    • Wszystkie odpowiednie pliki dla rozszerzenia muszą znajdować się .cab w pliku
      • Każdy plik musi być wymieniony w manifeście i mieć poprawną nazwę i skrót SHA256

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

Przykładowy plik 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>

Rejestrowanie rozszerzenia w lokacji na potrzeby testowania

Jeśli rozszerzenie zostało skompilowane i spakowane w plik z podpisem .cab authenticode, możesz przetestować je w środowisku laboratorium Configuration Manager. Zrobisz to, publikując go za pośrednictwem usługi administracyjnej. Po wstawieniu rozszerzenia do lokacji można je zatwierdzić i zainstalować lokalnie z poziomu węzła Rozszerzenia konsoli .

Ważna

W przypadku testowania lokalnego można zaimportować niepodpisane rozszerzenia konsoli w wersji 2107 lub nowszej. Aby uzyskać więcej informacji i dodatkowe metody importu, zobacz Importowanie rozszerzeń konsoli.

  1. Uruchom następujący skrypt programu PowerShell po edycji elementów $adminServiceProvider i $cabFilePath:

    • $adminServiceProvider — serwer SMSProvider najwyższego poziomu, na którym jest zainstalowana usługa administracyjna
    • $cabFilePath — Ścieżka do pliku z podpisem .cab authenticode rozszerzenia
    $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. W konsoli Configuration Manager przejdź do obszaruOmówienie>administracji>Aktualizacje iRozszerzenia konsoli obsługi>.

  3. Wybierz rozszerzenie, a następnie wybierz pozycję Zatwierdź instalację.

  4. Aby zainstalować rozszerzenie w bieżącej konsoli, wybierz pozycję Zainstaluj w obszarze Rozszerzenie lokalne.

  5. Ponowne uruchomienie skryptu programu PowerShell z tym samym rozszerzeniem i tą samą wersją spowoduje zastąpienie bieżącego istniejącego.

Udostępnianie rozszerzenia w centrum społeczności

Dotyczy tylko wersji technical preview Configuration Manager

Upewnij się, że dołączyłeś do centrum społeczności i że zaakceptowano zaproszenie po zatwierdzeniu żądania dołączenia. Rozszerzenia współtworzą się w taki sam sposób, jak inne obiekty centrum społeczności. Jednak w przypadku dodatkowych wymagań i dodatkowych informacji należy podać dla rozszerzenia. Podczas współtworzenia rozszerzenia konsoli w centrum Community Hub zawartość musi być podpisana. Zawartość rozszerzeń konsoli nie jest hostowana przez Microsoft. Podczas współtworzenia elementu zostanie wyświetlony monit o podanie lokalizacji podpisanego .cab pliku wraz z innymi informacjami dotyczącymi rozszerzenia. Do współtworzenia rozszerzeń są wymagane następujące elementy:

  • Adres URL zawartości: lokalizacja pliku do .cab pobrania
  • Skrót SHA-256 zawartości: skrót .cab SHA-256 pliku
  • Adres URL licencji: adres URL licencji dla rozszerzenia, taki jak https://mit-license.org/
  • Adres URL oświadczenia o ochronie prywatności: adres URL oświadczenia o ochronie prywatności

Ważna

Jeśli zaimportujesz rozszerzenie lokalnie do konsoli, publikując je za pośrednictwem usługi administracyjnej, pobieranie zakończy się niepowodzeniem, jeśli spróbujesz pobrać to samo rozszerzenie z centrum Community Hub. Aby przetestować pobieranie rozszerzenia z centrum Community Hub, usuń zaimportowane rozszerzenie, a następnie pobierz je z Community Hub.

Następne kroki