Partilhar via


Registo de extensão de consola embora centro comunitário

Os autores da extensão da consola podem contribuir com extensões que escreveram para o centro comunitário. Os utilizadores do hub comunitário podem descarregar as extensões e gerir a instalação das mesmos através da sua hierarquia de Gestor de Configuração. As extensões que contribuem através do hub comunitário substitui o processo de implantação anterior.

Importante

  • Atualmente apenas as versões técnicas de pré-visualização do Gestor de Configuração podem obter extensões de consola a partir do hub comunitário.
  • Importar uma extensão não assinada pode ser feito com a versão técnica de pré-visualização 2105.2 ou posterior. As extensões não assinadas destinam-se apenas a fins locais de importação e teste.
  • Se estiver a utilizar a versão 2103 do Configuration Manager, pode testar as suas próprias extensões importando-as localmente,mas a extensão tem de ser assinada para importar.

Pré-requisitos

Para registar uma extensão de consola no centro comunitário para os administradores do Gestor de Configuração descarregarem, necessitará dos seguintes pré-requisitos:

  • Conheça todos os pré-requisitos para contribuir para o centro comunitário

  • Gestor de Configuração Administrador Completo com Todos os direitos de âmbito.

  • Uma carga útil válida num ficheiro assinado por autenticação assim que estiver pronto para .cab publicar. O seu .cab ficheiro deve conter os seguintes itens:

    • Um ficheiro manifesto chamado manifest.xml
    • O autor e a versão da extensão devem ser listados no manifest.xml
    • Todos os ficheiros relevantes para a extensão devem estar no .cab ficheiro
      • Cada ficheiro deve estar listado no manifesto e ter o nome correto e hash SHA256

Criar uma extensão

Criar a sua extensão para o centro comunitário não é muito diferente de como foi feito anteriormente. No entanto, já não é necessário instalar os ficheiros na respetiva %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions pasta. Isto faz parte da função do novo manifest.xml ficheiro. Ainda pode criar os seguintes itens:

  • Ações
  • Formulários
  • Aulas de gestão
  • Nós
  • Vistas
  • Integre os seus próprios assistentes personalizados na consola Do Gestor de Configuração utilizando uma estrutura de assistente à sua escolha
    • Não é possível criar assistentes utilizando a estrutura de consola existente do Gestor de Configuração.
    • Não é possível modificar ou remover passos dos assistentes do Gestor de Configuração existentes.

Dica

A partir do repositório de GitHub do centro comunitário, você pode baixar o ficheiro de táxi de uma extensão de amostra.

Criar um ficheiro de cabina de carga útil válido

Assim que tiver os ficheiros da sua extensão criados, criará o manifest.xml ficheiro e, em seguida, embalá-los-á todos num ficheiro assinado por autenticação. .cab

  • Uma carga útil válida num ficheiro assinado por .cab autenticação. O seu .cab ficheiro deve conter os seguintes itens:
    • Um ficheiro manifesto chamado manifest.xml
    • O autor e a versão da extensão devem ser listados no manifest.xml
    • Todos os ficheiros relevantes para a extensão devem estar no .cab ficheiro
      • Cada ficheiro deve estar listado no manifesto e ter o nome correto e hash SHA256

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 ficheiro:

<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>

Registar a extensão de um site para testes

Quando tiver a sua extensão incorporada e embalada num ficheiro assinado por .cab autenticação, pode testá-la num ambiente de laboratório do Gestor de Configuração. Fá-lo-á colocando-o através do serviço de administração. Uma vez inserida a extensão no site, pode aprová-la e instalá-la localmente a partir do nó de Extensões de Consola.

  1. Executar o seguinte script PowerShell depois de editar o $adminServiceProvider $cabFilePath e:

    • $adminServiceProvider - O servidor SMSProvider de alto nível onde o serviço de administração está instalado
    • $cabFilePath- Caminho para o ficheiro assinado por autenticação da extensão .cab
    $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."}
    
  2. Na consola 'Gestor de Configuração', aceda a > > Atualizações gerais da Administração e > às extensões de consola de manutenção .

  3. Selecione a sua extensão e, em seguida, escolha Aprovar Instalação.

  4. Para instalar a extensão na consola atual, selecione Instalar sob a Extensão Local.

  5. A reprodução do script PowerShell com a mesma extensão e a mesma versão substituirá a atual.

Partilhe a sua extensão no centro comunitário

Aplica-se apenas às versões técnicas de pré-visualização do Gestor de Configuração

Certifique-se de que se juntou ao centro comunitário e que aceitou o convite após a aprovação do seu pedido de adesão. Você contribui com extensões da mesma forma que qualquer outro objeto do centro comunitário. Para mais informações, consulte Contribuir para o centro comunitário.

Passos seguintes