Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los autores de extensiones de consola pueden contribuir con extensiones que hayan escrito al centro de comunidad. Los usuarios del centro de comunidad pueden descargar las extensiones y administrar su instalación en toda la jerarquía de Configuration Manager. La contribución de extensiones a través de Community Hub reemplaza el proceso de implementación anterior.
Información de versión
Para descargar extensiones de consola desde el centro de comunidad, tendrás que:
- Una versión de vista previa técnica 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 vista previa técnica de Configuration Manager
- Configuration Manager versión 2103 o posterior
Puede importar una extensión sin firmar localmente. Las extensiones sin firmar son solo para fines de prueba e importación local. 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 siguientes versiones:
- Technical Preview versión 2105.2 o posterior.
- Configuration Manager versión 2107 o posterior
A partir de la versión 2111, puedes 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 la descarguen los administradores de Configuration Manager, necesitarás los siguientes requisitos previos:
Cumple con todos los requisitos previos para contribuir al centro de la comunidad
Administrador total de Configuration Manager con derechos de todos los ámbitos.
Una carga válida en un archivo firmado
.cabcon código de autenticación cuando esté listo para publicar. El.cabarchivo debe contener los siguientes elementos:- Un archivo de manifiesto llamado
manifest.xml - El autor y la versión de la extensión deben aparecer en el
manifest.xml - Todos los archivos pertinentes para la extensión deben estar en el
.cabarchivo- Cada archivo debe aparecer en el manifiesto y tener el nombre y el hash SHA256 correctos
- Un archivo de manifiesto llamado
Crear una extensión
La creación de tu extensión para el centro de la comunidad no es muy diferente de cómo se hacía anteriormente. Sin embargo, ya no es necesario instalar los archivos en la carpeta correspondiente %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions . Esto forma parte de la función del nuevo manifest.xml archivo. Todavía puedes crear los siguientes elementos:
- Acciones
- Forms
- Clases de administración
- Nodes
- Vistas
- Integre sus propios asistentes personalizados en la consola de Configuration Manager utilizando un marco de asistente de su elección
- No se pueden crear asistentes mediante el marco de consola de Configuration Manager existente.
- No puede modificar ni quitar pasos de los asistentes de Configuration Manager existentes.
Sugerencia
Desde el repositorio de GitHub del centro de la comunidad, puede descargar un archivo cab de extensión de ejemplo.
Creación de un archivo cab de carga útil válido
Una vez creados los archivos de la extensión, creará el manifest.xml archivo y, a continuación, los empaquetará todos juntos en un archivo firmado .cab mediante código de autenticación.
- Una carga válida en un archivo firmado con
.cabcódigo autenticado. El.cabarchivo debe contener los siguientes elementos:- Un archivo de manifiesto llamado
manifest.xml - El autor y la versión de la extensión deben aparecer en el
manifest.xml - Todos los archivos pertinentes para la extensión deben estar en el
.cabarchivo- Cada archivo debe aparecer en el manifiesto y tener el nombre y el hash SHA256 correctos
- Un archivo de manifiesto llamado
Manifest.xml formato:
<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 integrada y empaquetada en un archivo firmado .cab con authenticode, puede probarla en un entorno de laboratorio de Configuration Manager. Para ello, deberá publicarlo en el servicio de administración. Una vez que la extensión se inserta en el sitio, puede aprobarla e instalarla localmente desde el nodo Extensiones de consola .
Importante
Para realizar pruebas locales, puedes importar extensiones de consola sin firmar cuando uses la versión 2107 o posterior. Para obtener más información y métodos de importación adicionales, consulte Importar extensiones de consola.
Ejecute el siguiente script de PowerShell después de editar el
$adminServiceProvidery$cabFilePath:-
$adminServiceProvider- El servidor SMSProvider de nivel superior donde está instalado el servicio de administración -
$cabFilePath- Ruta de acceso al archivo firmado con.cabauthenticode 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, ve aInformación general> de 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.
Si se vuelve a ejecutar el script de PowerShell con la misma extensión y la misma versión, se sobrescribirá el existente actual.
Compartir la extensión en el centro de la comunidad
Solo se aplica a las versiones preliminares técnicas de Configuration Manager
Asegúrese de que se ha unido al centro de la comunidad y de que ha aceptado la invitación después de que se apruebe su solicitud de unión. Puede contribuir con extensiones de la misma manera que lo haría con otros objetos del centro de la comunidad. Sin embargo, existen requisitos adicionales e información adicional que debe proporcionar para una extensión. Cuando contribuyes con una extensión de consola al Centro de comunidad, el contenido debe estar firmado. Microsoft no hospeda el contenido de las extensiones de consola. Cuando contribuya con el elemento, se le pedirá que proporcione una ubicación para el archivo firmado .cab junto con otra información de la extensión. Los siguientes elementos son necesarios para contribuir con extensiones:
-
Dirección URL del contenido: ubicación del archivo descargable
.cab -
Hash SHA-256 del contenido: hash SHA-256 del
.cabarchivo - Dirección URL de licencia: dirección URL de la licencia de la extensión, como https://mit-license.org/
- URL de la declaración de privacidad: 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.