Регистрация расширения консоли через центр сообщества
Авторы расширений консоли могут добавлять расширения, которые они написали в центре сообщества. Пользователи центра сообщества могут скачивать расширения и управлять их установкой в своей иерархии Configuration Manager. Внесение расширений через Центр сообщества заменяет предыдущий процесс развертывания.
Сведения о версии
Чтобы скачать расширения консоли из Центра сообщества, вам потребуется следующее:
- Техническая предварительная версия Configuration Manager
- Configuration Manager версии 2103 или более поздней
Вы можете протестировать собственные подписанные расширения, импортировав их локально со следующими версиями:
- Техническая предварительная версия Configuration Manager
- Configuration Manager версии 2103 или более поздней
Вы можете импортировать расширение без знака локально. Неподписанные расширения предназначены только для локального импорта и тестирования. Неподписанные расширения не могут быть отправлены в Центр сообщества. Для импорта расширения без знака требуется одна из следующих версий:
- Technical Preview версии 2105.2 или более поздней.
- Configuration Manager версии 2107 или более поздней
Начиная с версии 2111, вы можете импортировать как подписанные, так и неподписанные расширения с помощью мастера импорта расширений консоли.
Предварительные требования
Чтобы зарегистрировать расширение консоли в центре сообщества для Configuration Manager администраторов, необходимы следующие предварительные требования:
Выполнение всех предварительных требований для участия в центре сообщества
Configuration Manager полный администратор со всеми правами области.
Допустимые полезные данные в файле с подписью
.cab
authenticode, когда вы будете готовы к публикации. Файл.cab
должен содержать следующие элементы:- Файл манифеста с именем
manifest.xml
- Автор и версия расширения должны быть указаны в списке
manifest.xml
- Все соответствующие файлы для расширения должны находиться в
.cab
файле- Каждый файл должен быть указан в манифесте и иметь правильное имя и хэш SHA256.
- Файл манифеста с именем
Создание расширения
Создание расширения для центра сообщества не сильно отличается от того, как это было сделано ранее. Однако больше нет необходимости устанавливать файлы в соответствующей %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions
папке. Это часть функции нового manifest.xml
файла. Вы по-прежнему можете создать следующие элементы:
- Действия
- Forms
- Классы управления
- Nodes
- Views
- Интеграция собственных пользовательских мастеров в консоль Configuration Manager с помощью выбранной платформы мастера
- Мастеры нельзя создавать с помощью существующей платформы Configuration Manager консоли.
- Вы не можете изменить или удалить шаги из существующих мастеров Configuration Manager.
Совет
Из репозитория GitHub центра сообщества можно скачать пример CAB-файла расширения.
Создание допустимого cab-файла полезных данных
После создания файлов для расширения вы создадите manifest.xml
файл, а затем упаковываете их вместе в файл с подписью .cab
authenticode.
- Допустимые полезные данные в файле с подписью
.cab
authenticode. Файл.cab
должен содержать следующие элементы:- Файл манифеста с именем
manifest.xml
- Автор и версия расширения должны быть указаны в списке
manifest.xml
- Все соответствующие файлы для расширения должны находиться в
.cab
файле- Каждый файл должен быть указан в манифесте и иметь правильное имя и хэш SHA256.
- Файл манифеста с именем
формат 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>
Пример файла 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>
Регистрация расширения на сайте для тестирования
Если расширение будет создано и упаковано в файл со знаком .cab
authenticode, его можно протестировать в Configuration Manager лабораторной среде. Это можно сделать, опубликовав его через службу администрирования. После вставки расширения на сайт его можно утвердить и установить локально из узла Расширения консоли .
Важно!
Для локального тестирования можно импортировать неподписанные расширения консоли при использовании версии 2107 или более поздней. Дополнительные сведения и дополнительные методы импорта см. в разделе Импорт расширений консоли.
Запустите следующий сценарий PowerShell после редактирования
$adminServiceProvider
и$cabFilePath
:-
$adminServiceProvider
— сервер SMSProvider верхнего уровня, на котором установлена служба администрирования. -
$cabFilePath
— Путь к файлу расширения с подписью.cab
authenticode.
$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."}
-
В консоли Configuration Manager перейдите в разделОбзор>администрирования>Обновления ирасширения консоли обслуживания>.
Выберите расширение, а затем — Утвердить установку.
Чтобы установить расширение на текущей консоли, выберите Установить в разделе Локальное расширение.
Повторное выполнение скрипта PowerShell с тем же расширением и той же версией приведет к перезаписи текущего существующего.
Предоставление общего доступа к расширению в центре сообщества
Применяется только к версиям technical preview Configuration Manager
Убедитесь, что вы присоединились к центру сообщества и приняли приглашение после утверждения запроса на присоединение. Вы предоставляете расширения так же, как и другие объекты центра сообщества. Однако для этого существуют дополнительные требования и дополнительные сведения, которые необходимо предоставить для расширения. При добавлении расширения консоли в Центр сообщества содержимое должно быть подписано. Содержимое для расширений консоли не размещается в Майкрософт. Когда вы добавите свой элемент, вам будет предложено указать расположение подписанного .cab
файла вместе с другими сведениями для расширения. Для добавления расширений требуются следующие элементы:
-
URL-адрес содержимого: расположение скачиваемого
.cab
файла -
Хэш SHA-256 содержимого: хэш
.cab
SHA-256 файла - URL-адрес лицензии: URL-адрес лицензии для расширения, например https://mit-license.org/
- URL-адрес заявления о конфиденциальности: URL-адрес заявления о конфиденциальности
Важно!
Если вы импортируете расширение локально в консоль, опубликовав его через службу администрирования, скачивание завершится ошибкой при попытке скачать то же расширение из Центра сообщества. Чтобы протестировать скачивание расширения из Центра сообщества, удалите импортированное расширение, а затем скачайте его из Центра сообщества.