Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os autores de extensões de console podem contribuir com as extensões que escreveram no hub da comunidade. Os usuários do hub da comunidade podem baixar as extensões e gerenciar sua instalação na hierarquia do Configuration Manager. A contribuição de extensões por meio do hub da comunidade substitui o processo de implantação anterior.
Informação da versão
Para baixar extensões de console do hub da Comunidade, você precisará de:
- Uma versão de visualização técnica do Configuration Manager
- Configuration Manager versão 2103 ou posterior
Você pode testar suas próprias extensões assinadas importando-as localmente com as seguintes versões:
- Uma versão de visualização técnica do Configuration Manager
- Configuration Manager versão 2103 ou posterior
Você pode importar uma extensão não assinada localmente. As extensões não assinadas são apenas para fins de importação e teste locais. Extensões não assinadas não podem ser enviadas para o hub da comunidade. A importação de uma extensão não assinada requer uma das seguintes versões:
- Versão de visualização técnica 2105.2 ou posterior.
- Configuration Manager versão 2107 ou posterior
A partir da versão 2111, você pode importar extensões assinadas e não assinadas usando o assistente de Extensão de Console de Importação.
Pré-requisitos
Para registrar uma extensão de console no hub da comunidade para que os administradores do Configuration Manager baixem, você precisará dos seguintes pré-requisitos:
Atenda a todos os pré-requisitos para contribuir com o hub da comunidade
Configuration Manager Administrador Completo com todos os direitos de escopo.
Um conteúdo válido em um arquivo assinado com
.cabauthenticode quando você estiver pronto para publicar. Seu.cabarquivo deve conter os seguintes itens:- Um arquivo de manifesto chamado
manifest.xml - O autor e a versão da extensão devem ser listados na
manifest.xml - Todos os arquivos relevantes para a extensão devem estar no
.cabarquivo- Cada arquivo deve estar listado no manifesto e ter o nome correto e o hash SHA256
- Um arquivo de manifesto chamado
Criar uma extensão
Criar sua extensão para o hub da comunidade não é muito diferente de como era feito anteriormente. No entanto, não há mais necessidade de instalar os arquivos em suas respectivas %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions pastas. Isso faz parte da função do novo manifest.xml arquivo. Você ainda pode criar os seguintes itens:
- Ações
- Forms
- Classes de gerenciamento
- Nodes
- Modos de exibição
- Integre seus próprios assistentes personalizados ao console do Configuration Manager usando uma estrutura de assistente de sua escolha
- Você não pode criar assistentes usando a estrutura de console do Configuration Manager existente.
- Não é possível modificar ou remover etapas dos assistentes do Configuration Manager existentes.
Dica
No repositório GitHub do hub da comunidade, você pode baixar o arquivo cab de uma extensão de exemplo.
Criar um arquivo cab de carga válido
Depois de criar os arquivos da sua extensão, você criará o manifest.xml arquivo e os empacotará em um arquivo assinado com .cab authenticode.
- Uma carga válida em um arquivo assinado com
.cabauthenticode. Seu.cabarquivo deve conter os seguintes itens:- Um arquivo de manifesto chamado
manifest.xml - O autor e a versão da extensão devem ser listados na
manifest.xml - Todos os arquivos relevantes para a extensão devem estar no
.cabarquivo- Cada arquivo deve estar listado no manifesto e ter o nome correto e o hash SHA256
- Um arquivo de manifesto chamado
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>
Exemplo manifest.xml arquivo:
<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>
Registrar a extensão em um site para teste
Quando você tiver sua extensão criada e empacotada em um arquivo assinado .cab com authenticode, poderá testá-la em um ambiente de laboratório do Configuration Manager. Você fará isso postando-o por meio do serviço de administração. Depois que a extensão é inserida no site, você pode aprová-la e instalá-la localmente no nó Extensões do console .
Importante
Para testes locais, você pode importar extensões de console não assinadas ao usar a versão 2107 ou posterior. Para obter mais informações e métodos de importação adicionais, consulte Importar extensões do console.
Execute o seguinte script do PowerShell depois de editar o
$adminServiceProvidere$cabFilePath:-
$adminServiceProvider- O servidor SMSProvider de nível superior no qual o serviço de administração está instalado -
$cabFilePath- Caminho para o arquivo assinado com authenticode da.cabextensão
$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."}-
No console Configuration Manager, acesseVisão Geral> de Administração>Atualizações e Extensões de Console de>Manutenção.
Selecione sua extensão e escolha Aprovar Instalação.
Para instalar a extensão no console atual, selecione Instalar em Extensão Local.
Executar novamente o script do PowerShell com a mesma extensão e a mesma versão substituirá a atual existente.
Compartilhar sua extensão no hub da comunidade
Aplica-se somente a versões de visualização técnica do Configuration Manager
Verifique se você ingressou no hub da comunidade e se aceitou o convite depois que sua solicitação de ingresso for aprovada. Você contribui com extensões da mesma maneira que contribuiria com outros objetos do hub da comunidade. No entanto, existem requisitos e informações adicionais que você precisa fornecer para uma extensão. Quando você contribui com uma extensão de console para o hub da comunidade, o conteúdo deve ser assinado. O conteúdo para extensões de console não é hospedado pela Microsoft. Ao contribuir com seu item, você será solicitado a fornecer uma localização para o arquivo assinado .cab junto com outras informações para a extensão. Os itens a seguir são necessários para contribuir com extensões:
-
URL do conteúdo: local do arquivo para download
.cab -
Hash SHA-256 do conteúdo: Hash SHA-256 do
.cabarquivo - URL da licença: URL da licença para a extensão, como https://mit-license.org/
- URL da política de privacidade: URL de sua política de privacidade
Importante
Se você importar uma extensão localmente para o console postando-a por meio do serviço de administração, o download falhará se você tentar baixar a mesma extensão do hub da comunidade. Para testar o download da sua extensão do hub comunitário, exclua a extensão importada e, em seguida, baixe do hub comunitário.