Inscription de l’extension de console via le hub de la communauté
Les auteurs d’extensions de console peuvent contribuer aux extensions qu’ils ont écrites dans le hub de la communauté. Les utilisateurs du hub communauté peuvent télécharger les extensions et gérer leur installation dans leur hiérarchie Configuration Manager. La contribution d’extensions via community hub remplace le processus de déploiement précédent.
Informations de version
Pour télécharger des extensions de console à partir du hub Communauté, vous avez besoin des éléments suivants :
- Une version Technical Preview de Configuration Manager
- Configuration Manager version 2103 ou ultérieure
Vous pouvez tester vos propres extensions signées en les important localement avec les versions suivantes :
- Une version Technical Preview de Configuration Manager
- Configuration Manager version 2103 ou ultérieure
Vous pouvez importer une extension non signée localement. Les extensions non signées sont destinées uniquement à des fins d’importation et de test locales. Les extensions non signées ne peuvent pas être envoyées au hub communauté. L’importation d’une extension non signée nécessite l’une des versions suivantes :
- Technical Preview version 2105.2 ou ultérieure.
- Configuration Manager version 2107 ou ultérieure
À partir de la version 2111, vous pouvez importer des extensions signées et non signées à l’aide de l’Assistant Importation d’extension de console.
Conditions préalables
Pour inscrire une extension de console dans le hub communauté que les administrateurs Configuration Manager peuvent télécharger, vous avez besoin des prérequis suivants :
Respecter toutes les conditions préalables pour contribuer au hub de la communauté
Configuration Manager Administrateur complet avec tous les droits d’étendue.
Charge utile valide dans un fichier signé
.cab
authenticode une fois que vous êtes prêt à publier. Votre.cab
fichier doit contenir les éléments suivants :- Un fichier manifeste nommé
manifest.xml
- L’auteur et la version de l’extension doivent être répertoriés dans le
manifest.xml
- Tous les fichiers pertinents pour l’extension doivent se trouver dans le
.cab
fichier- Chaque fichier doit être répertorié dans le manifeste et avoir le nom et le hachage SHA256 corrects
- Un fichier manifeste nommé
Créer une extension
La création de votre extension pour community hub n’est pas très différente de la façon dont elle a été effectuée précédemment. Toutefois, il n’est plus nécessaire d’installer les fichiers dans leur dossier respectif %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions
. Cela fait partie de la fonction du nouveau manifest.xml
fichier. Vous pouvez toujours créer les éléments suivants :
- Actions
- Forms
- Classes de gestion
- Nodes
- Views
- Intégrer vos propres Assistants personnalisés dans la console Configuration Manager à l’aide d’une infrastructure d’Assistant de votre choix
- Vous ne pouvez pas créer d’Assistants à l’aide de l’infrastructure de console Configuration Manager existante.
- Vous ne pouvez pas modifier ou supprimer des étapes des Assistants Configuration Manager existants.
Conseil
À partir du dépôt GitHub du hub community, vous pouvez télécharger un exemple de fichier cab d’extension.
Créer un fichier cab de charge utile valide
Une fois que vous avez créé les fichiers de votre extension, vous créez le manifest.xml
fichier, puis vous les empaquetez tous dans un fichier signé .cab
authenticode.
- Charge utile valide dans un fichier signé
.cab
authenticode. Votre.cab
fichier doit contenir les éléments suivants :- Un fichier manifeste nommé
manifest.xml
- L’auteur et la version de l’extension doivent être répertoriés dans le
manifest.xml
- Tous les fichiers pertinents pour l’extension doivent se trouver dans le
.cab
fichier- Chaque fichier doit être répertorié dans le manifeste et avoir le nom et le hachage SHA256 corrects
- Un fichier manifeste nommé
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>
Exemple de fichier 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>
Inscrire l’extension sur un site à des fins de test
Lorsque votre extension est générée et empaquetée dans un fichier signé .cab
authenticode, vous pouvez la tester dans un environnement de laboratoire Configuration Manager. Pour ce faire, vous le publierez via le service d’administration. Une fois l’extension insérée dans le site, vous pouvez l’approuver et l’installer localement à partir du nœud Extensions de console .
Importante
Pour les tests locaux, vous pouvez importer des extensions de console non signées lorsque vous utilisez la version 2107 ou ultérieure. Pour plus d’informations et pour d’autres méthodes d’importation, consultez Importer des extensions de console.
Exécutez le script PowerShell suivant après avoir modifié et
$adminServiceProvider
$cabFilePath
:-
$adminServiceProvider
- Serveur SMSProvider de niveau supérieur sur lequel le service d’administration est installé -
$cabFilePath
- Chemin d’accès au fichier signé.cab
authenticode de l’extension
$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."}
-
Dans la console Configuration Manager, accédez àVue d’ensemble> de l’administration> Mises à jour etExtensions de consolede maintenance>.
Sélectionnez votre extension, puis choisissez Approuver l’installation.
Pour installer l’extension sur la console actuelle, sélectionnez Installer sous Extension locale.
Le réexécution du script PowerShell avec la même extension et la même version remplace le script existant actuel.
Partager votre extension sur le hub de la communauté
S’applique uniquement aux versions Technical Preview de Configuration Manager
Vérifiez que vous avez rejoint le hub de la communauté et que vous avez accepté l’invitation une fois votre demande de participation approuvée. Vous contribuez aux extensions de la même façon que vous contribueriez à d’autres objets hub de la communauté. Toutefois, il existe des exigences supplémentaires et des informations supplémentaires que vous devez fournir pour une extension. Lorsque vous apportez une extension de console au hub Communauté, le contenu doit être signé. Le contenu des extensions de console n’est pas hébergé par Microsoft. Lorsque vous contribuez à votre élément, vous êtes invité à fournir un emplacement au fichier signé .cab
, ainsi que d’autres informations pour l’extension. Les éléments suivants sont requis pour contribuer aux extensions :
-
URL du contenu : emplacement du fichier téléchargeable
.cab
-
Hachage SHA-256 du contenu : hachage SHA-256 du
.cab
fichier - URL de la licence : URL de la licence de l’extension, par exemple https://mit-license.org/
- URL de la déclaration de confidentialité : URL de votre déclaration de confidentialité
Importante
Si vous importez une extension localement dans la console en la publiant via le service d’administration, le téléchargement échoue si vous tentez de télécharger la même extension à partir du hub Communauté. Pour tester le téléchargement de votre extension à partir du hub Communauté, supprimez l’extension importée, puis téléchargez-la à partir du hub communauté.