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:
- Wersja Technical Preview w wersji 2105.2 lub nowszej .
- Configuration Manager wersji 2107 lub nowszej
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
- Plik manifestu o nazwie
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
- Plik manifestu o nazwie
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.
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."}
-
W konsoli Configuration Manager przejdź do obszaruOmówienie>administracji>Aktualizacje iRozszerzenia konsoli obsługi>.
Wybierz rozszerzenie, a następnie wybierz pozycję Zatwierdź instalację.
Aby zainstalować rozszerzenie w bieżącej konsoli, wybierz pozycję Zainstaluj w obszarze Rozszerzenie lokalne.
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.