Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli autori delle estensioni della console possono contribuire all'hub della community con le estensioni scritte che hanno creato. Gli utenti dell'hub della community possono scaricare le estensioni e gestirne l'installazione nella gerarchia di Configuration Manager. L'aggiunta di estensioni tramite l'hub della community sostituisce il processo di distribuzione precedente.
Informazioni sulla versione
Per scaricare le estensioni della console dall'hub della community, è necessario:
- Versione Technical Preview di Configuration Manager
- Configuration Manager versione 2103 o successiva
È possibile testare le estensioni firmate importandole in locale con le versioni seguenti:
- Versione Technical Preview di Configuration Manager
- Configuration Manager versione 2103 o successiva
È possibile importare un'estensione non firmata in locale. Le estensioni non firmate sono solo a scopo di importazione e test locali. Le estensioni non firmate non possono essere inviate all'hub della community. L'importazione di un'estensione non firmata richiede una delle versioni seguenti:
- Technical Preview versione 2105.2 o successiva.
- Configuration Manager versione 2107 o successiva
A partire dalla versione 2111, puoi importare sia le estensioni firmate che quelle non firmate usando l'Importazione guidata estensioni console.
Prerequisiti
Per registrare un'estensione della console nell'hub della community per il download da parte degli amministratori di Configuration Manager, sono necessari i prerequisiti seguenti:
Soddisfano tutti i prerequisiti per contribuire all'hub della community
Configuration Manager: amministratore completo con tutti i diritti di ambito.
Payload valido in un file firmato
.cabcon l'autenticazione quando si è pronti per la pubblicazione. Il.cabfile deve contenere gli elementi seguenti:- Un file manifest denominato
manifest.xml - L'autore e la versione dell'estensione devono essere elencati nel
manifest.xml - Tutti i file pertinenti per l'estensione
.cabdevono essere nel file- Ogni file deve essere elencato nel manifesto e avere il nome corretto e l'hash SHA256
- Un file manifest denominato
Creare un'estensione
La creazione dell'estensione per l'hub della community non è molto diversa da come veniva eseguita in precedenza. Tuttavia, non è più necessario installare i file nella rispettiva %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions cartella. Questo fa parte della funzione del nuovo manifest.xml file. È comunque possibile creare gli elementi seguenti:
- Azioni
- Maschere
- Classi di gestione
- Nodi
- Visualizzazioni
- Integra le tue procedure guidate personalizzate nella console di Configuration Manager usando un framework di procedure guidate a tua scelta
- Non puoi creare procedure guidate usando il framework della console di Configuration Manager esistente.
- Non puoi modificare o rimuovere passaggi dalle procedure guidate di Configuration Manager esistenti.
Consiglio
Dal repository GitHub dell'hub della community puoi scaricare il file cab di un'estensione di esempio.
Creare un file CAB di payload valido
Dopo aver creato i file per l'estensione, creerai il manifest.xml file, quindi li impacchetta tutti insieme in un file con firma .cab authenticode.
- Payload valido in un file con firma
.cabauthenticode. Il.cabfile deve contenere gli elementi seguenti:- Un file manifest denominato
manifest.xml - L'autore e la versione dell'estensione devono essere elencati nel
manifest.xml - Tutti i file pertinenti per l'estensione
.cabdevono essere nel file- Ogni file deve essere elencato nel manifesto e avere il nome corretto e l'hash SHA256
- Un file manifest denominato
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>
File di manifest.xml di esempio:
<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>
Registrare l'estensione in un sito per il test
Dopo aver incorporato e inserito l'estensione in un file con firma authenticode, è possibile testarla in un ambiente lab di .cab Configuration Manager. A tale scopo, è possibile pubblicarlo tramite il servizio di amministrazione. Dopo aver inserito l'estensione nel sito, è possibile approvarla e installarla in locale dal nodo Estensioni console.
Importante
Per i test locali, è possibile importare estensioni di console non firmate quando si usa la versione 2107 o successiva. Per ulteriori informazioni e metodi di importazione aggiuntivi, vedere Importare estensioni della console.
Eseguire lo script di PowerShell seguente dopo aver modificato e
$adminServiceProvider$cabFilePath:-
$adminServiceProvider- Il server SMSProvider di primo livello in cui è installato il servizio di amministrazione -
$cabFilePath- Percorso del file con firma.cabauthenticode dell'estensione
$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."}-
Nella console di Configuration Manager, vai aPanoramica>dell'amministrazione>: Aggiornamenti ed estensioni della console di manutenzione>.
Selezionare l'estensione, quindi scegliere Approva installazione.
Per installare l'estensione nella console corrente, seleziona Installa in Estensione locale.
La riesecuzione dello script di PowerShell con la stessa estensione e la stessa versione sovrascriverà quello esistente corrente.
Condividi l'estensione nell'hub della community
Si applica solo alle versioni di anteprima tecnica di Configuration Manager
Assicurati di aver effettuato l'iscrizione all'hub della community e di aver accettato l'invito dopo l'approvazione della richiesta di partecipazione. È possibile contribuire alle estensioni nello stesso modo in cui si contribuisce agli altri oggetti dell'hub della community. Tuttavia, per un'estensione è necessario fornire requisiti aggiuntivi e informazioni aggiuntive. Quando contribuisci con un'estensione della console all'hub della community, il contenuto deve essere firmato. Il contenuto per le estensioni della console non è ospitato da Microsoft. Quando contribuisci con il tuo articolo, ti verrà chiesto di fornire una posizione per il file firmato .cab insieme ad altre informazioni per l'estensione. Per le estensioni che contribuiscono, sono necessari gli elementi seguenti:
-
URL contenuto: percorso del file scaricabile
.cab -
Hash SHA-256 del contenuto: hash SHA-256 del
.cabfile - URL licenza: URL della licenza per l'estensione, ad esempio https://mit-license.org/
- URL dell'informativa sulla privacy: URL dell'informativa sulla privacy
Importante
Se si importa un'estensione in locale nella console pubblicandola tramite il servizio di amministrazione, il download non riuscirà se si tenta di scaricare la stessa estensione dall'hub della community. Per testare il download dell'estensione dall'hub della community, eliminare l'estensione importata e quindi scaricarla dall'hub della community.