Registro de la extensión de consola en el centro de la comunidad
Los autores de extensiones de consola pueden contribuir con las extensiones que han escrito en el centro de la comunidad. Los usuarios del centro de la comunidad pueden descargar las extensiones y administrar la instalación de ellas en su jerarquía de Configuration Manager. La contribución de extensiones a través del centro de comunidad reemplaza al proceso de implementación anterior.
Información de versión
Para descargar las extensiones de consola desde el centro de comunidad, necesitará lo siguiente:
- Una versión de technical preview de Configuration Manager
- Configuration Manager versión 2103 o posterior
Puede probar sus propias extensiones firmadas importándolas localmente con las siguientes versiones:
- Una versión de technical preview de Configuration Manager
- Configuration Manager versión 2103 o posterior
Puede importar una extensión sin firmar localmente. Las extensiones sin firmar son solo con fines de importación y pruebas locales. Las extensiones sin firmar no se pueden enviar al centro de comunidad. La importación de una extensión sin firmar requiere una de las versiones siguientes:
- Technical Preview versión 2105.2 o posterior.
- Configuration Manager versión 2107 o posterior
A partir de la versión 2111, puede importar extensiones firmadas y sin firmar mediante el Asistente para importar extensiones de consola.
Requisitos previos
Para registrar una extensión de consola en el centro de la comunidad para que Configuration Manager administradores se descarguen, necesitará los siguientes requisitos previos:
Cumplir todos los requisitos previos para contribuir al centro de la comunidad
Configuration Manager administrador completo con todos los derechos de ámbito.
Una carga válida en un archivo firmado
.cab
por authenticode una vez que esté listo para publicar. El.cab
archivo debe contener los siguientes elementos:- Un archivo de manifiesto denominado
manifest.xml
- El autor y la versión de la extensión deben aparecer en
manifest.xml
- Todos los archivos pertinentes para la extensión deben estar en el
.cab
archivo- Cada archivo debe aparecer en el manifiesto y tener el nombre correcto y el hash SHA256
- Un archivo de manifiesto denominado
Creación de una extensión
La creación de la extensión para community hub no es muy diferente de cómo se hizo anteriormente. Sin embargo, ya no es necesario instalar los archivos en su carpeta respectiva %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions
. Esto forma parte de la función del nuevo manifest.xml
archivo. Todavía puede crear los siguientes elementos:
- Acciones
- Forms
- Clases de administración
- Nodes
- Vistas
- Integración de sus propios asistentes personalizados en la consola de Configuration Manager mediante un marco de trabajo de asistente de su elección
- No se pueden crear asistentes mediante el marco de Configuration Manager consola existente.
- No puede modificar ni quitar los pasos de los asistentes de Configuration Manager existentes.
Sugerencia
Desde el repositorio de GitHub del centro de comunidad, puede descargar el archivo cab de una extensión de ejemplo.
Creación de un archivo cab de carga útil válido
Una vez que haya creado los archivos de la extensión, creará el manifest.xml
archivo y los empaquetará todos juntos en un archivo firmado .cab
por authenticode.
- Una carga válida en un archivo firmado
.cab
por authenticode. El.cab
archivo debe contener los siguientes elementos:- Un archivo de manifiesto denominado
manifest.xml
- El autor y la versión de la extensión deben aparecer en
manifest.xml
- Todos los archivos pertinentes para la extensión deben estar en el
.cab
archivo- Cada archivo debe aparecer en el manifiesto y tener el nombre correcto y el hash SHA256
- Un archivo de manifiesto denominado
formato de 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>
Ejemplo manifest.xml archivo:
<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>
Registro de la extensión en un sitio para realizar pruebas
Cuando tenga la extensión compilada y empaquetada en un archivo firmado .cab
por authenticode, puede probarlo en un entorno de laboratorio Configuration Manager. Para ello, se publica a través del servicio de administración. Una vez insertada la extensión en el sitio, puede aprobarla e instalarla localmente desde el nodo Extensiones de consola .
Importante
Para las pruebas locales, puede importar extensiones de consola sin firmar cuando use la versión 2107 o posterior. Para obtener más información y métodos de importación adicionales, vea Importar extensiones de consola.
Ejecute el siguiente script de PowerShell después de editar y
$adminServiceProvider
$cabFilePath
:-
$adminServiceProvider
- El servidor SMSProvider de nivel superior donde está instalado el servicio de administración -
$cabFilePath
- Ruta de acceso al archivo autenticado.cab
de la extensión
$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."}
-
En la consola de Configuration Manager, vaya aIntroducción> a la administración>Novedades y Extensiones de consola de> mantenimiento.
Seleccione la extensión y, a continuación, elija Aprobar instalación.
Para instalar la extensión en la consola actual, seleccione Instalar en Extensión local.
Volver a ejecutar el script de PowerShell con la misma extensión y la misma versión sobrescribirá el existente actual.
Compartir la extensión en el centro de la comunidad
Solo se aplica a las versiones de technical preview de Configuration Manager
Asegúrese de que se ha unido al centro de la comunidad y de que ha aceptado la invitación una vez aprobada la solicitud de incorporación. Las extensiones se contribuyen de la misma manera que contribuiría con otros objetos del centro de la comunidad. Sin embargo, para que haya requisitos adicionales e información adicional, debe proporcionar para una extensión. Al contribuir a una extensión de consola en community hub, el contenido debe estar firmado. El contenido de las extensiones de consola no está hospedado por Microsoft. Al contribuir al elemento, se le pedirá que proporcione una ubicación al archivo firmado .cab
junto con otra información para la extensión. Los siguientes elementos son necesarios para contribuir a las extensiones:
-
Dirección URL de contenido: ubicación del archivo descargable
.cab
-
Hash SHA-256 del contenido: hash SHA-256 del
.cab
archivo - Dirección URL de licencia: dirección URL de la licencia de la extensión, como https://mit-license.org/
- Dirección URL de la declaración de privacidad: dirección URL de su declaración de privacidad
Importante
Si importa una extensión localmente en la consola publicándola a través del servicio de administración, se producirá un error en la descarga si intenta descargar la misma extensión desde el centro de comunidad. Para probar la descarga de la extensión desde el centro de comunidad, elimine la extensión importada y, a continuación, descárguela desde el centro de comunidad.