Partilhar via


Migrar pacotes MSIX do aplicativo MSIX anexar para anexar aplicativo

A anexação de aplicativos melhora as experiências administrativas e de usuário em relação à anexação de aplicativos MSIX. Se você usar o MSIX app attach, poderá migrar seus pacotes MSIX para o app attach usando um script do PowerShell.

O script de migração pode executar as seguintes ações:

  • Cria um novo objeto de pacote de anexação de aplicativo e pode excluir o objeto de pacote MSIX original, se necessário.

  • Copie permissões de grupos de aplicativos associados ao pool de hosts e ao pacote MSIX.

  • Copie o local e o grupo de recursos do pool de hosts e do pacote MSIX.

  • Registrar a atividade de migração.

Pré-requisitos

Para usar o script de migração, você precisa:

  • Um pool de hosts configurado como um ambiente de validação, com pelo menos um pacote MSIX adicionado com o aplicativo MSIX anexado.

  • Uma conta do Azure com a função RBAC (controle de acesso baseado em função) do Azure do Colaborador da Virtualização de Área de Trabalho atribuída no pool de hosts.

  • Um dispositivo local com PowerShell. Verifique se você tem as versões mais recentes do Az PowerShell e do SDK do Microsoft Graph PowerShell instaladas. Especificamente, os seguintes módulos são necessários:

    • Az.DesktopVirtualization
    • Az.Accounts
    • Az.Resources
    • Microsoft.Graph.Authentication

Parâmetros

Aqui estão os parâmetros que você pode usar com o script de migração:

Parâmetro Description
MsixPackage O objeto de pacote MSIX para migrar para um objeto de anexação de aplicativo. Esse valor pode ser repassado via pipeline.
PermissionSource Onde obter permissões para o novo objeto anexar aplicativo. O padrão é nenhuma permissão concedida. As opções são:
  • DAG: o grupo de aplicativos de desktop associado ao pool de hosts e ao pacote MSIX
  • RAG: um ou mais grupos de aplicativos RemoteApp associados ao pool de hosts e ao pacote MSIX
Ambas as opções concedem permissão a todos os usuários e grupos com qualquer permissão com escopo específico para o grupo de aplicativos.
HostPoolsForNewPackage IDs de recursos de pools de hosts aos quais associar o novo objeto de anexação de aplicativo. O padrão é nenhum pool de hosts. Os pools de hosts devem estar no mesmo local que os pacotes de anexação de aplicativos aos quais estão associados.
TargetResourceGroupName Grupo de recursos para armazenar o novo objeto de anexação de aplicativo. O padrão é o grupo de recursos do pool de hosts ao qual o pacote MSIX está associado.
Location Região do Azure na qual criar um novo objeto de anexação de aplicativo. O padrão é o local do pool de hosts ao qual o pacote MSIX está associado. Os pacotes de anexação de aplicativos devem estar no mesmo local do pool de hosts ao qual estão associados.
DeleteOrigin Exclua o pacote MSIX de origem após a migração.
IsActive Habilita o novo objeto de anexação de aplicativo.
DeactivateOrigin Desabilita o objeto de pacote MSIX de origem após a migração.
PassThru Passa o novo objeto de anexação de aplicativo. Passthru Retorna o objeto para o pacote criado. Use esse valor se quiser inspecioná-lo ou passá-lo para outro comando do PowerShell.
LogInJSON Escreva no arquivo de log no formato JSON.
LogFilePath Caminho do arquivo de log, o padrão é em MsixMigration[Timestamp].log uma pasta temporária, como C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. O caminho para o registro em log é gravado no console quando o script é executado.

Baixe e execute o script de migração

Veja como migrar pacotes MSIX do aplicativo MSIX anexar para anexar aplicativo.

Importante

Nos exemplos a seguir, você precisará alterar os valores para os <placeholder> seus próprios.

  1. Abra um prompt do PowerShell em seu dispositivo local.

  2. Baixe o script Migrate-MsixPackagesToAppAttach.ps1 do PowerShell e desbloqueie-o executando os seguintes comandos:

    $url = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/msix-app-attach/MigrationScript/Migrate-MsixPackagesToAppAttach.ps1"
    $filename = $url.Split('/')[-1]
    
    Invoke-WebRequest -Uri $url -OutFile $filename | Unblock-File
    
  3. Importe os módulos necessários executando os seguintes comandos:

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Conecte-se ao Azure executando o seguinte comando e seguindo os prompts para entrar em sua conta do Azure:

    Connect-AzAccount
    
  5. Conecte-se ao Microsoft Graph executando o seguinte comando:

    Connect-MgGraph -Scopes "Group.Read.All"
    

As subseções a seguir contêm alguns exemplos de como usar o script de migração. Consulte a seção de parâmetros para todos os parâmetros disponíveis e uma descrição de cada parâmetro.

Gorjeta

Se você não passar nenhum parâmetro para o script de migração, ele terá o seguinte comportamento padrão:

  • Nenhuma permissão é concedida ao novo pacote de anexação de aplicativo.
  • O novo pacote de anexação de aplicativos não está associado a nenhum pool de hosts e está inativo.
  • O novo pacote de anexação de aplicativo é criado no mesmo grupo de recursos e local que o pool de hosts.
  • O pacote MSIX original ainda está ativo não está desativado ou excluído.
  • As informações de log são gravadas no caminho do arquivo padrão.

Migrar um pacote MSIX específico adicionado a um pool de hosts e a um grupo de aplicativos

Aqui está um exemplo para migrar um pacote MSIX específico adicionado a um pool de hosts do aplicativo MSIX anexar ao anexo do aplicativo. Este exemplo:

  • Migra o pacote MSIX para o mesmo grupo de recursos e local que o pool de hosts.
  • Atribui o pacote MSIX na anexação do aplicativo ao mesmo pool de hosts e aos mesmos usuários que a origem do grupo de aplicativos RemoteApp.
  • Deixa a configuração do pacote MSIX existente na anexação do aplicativo MSIX ativa no pool de hosts. Se você quiser desativar o pacote MSIX imediatamente, use o -DeactivateOrigin parâmetro.
  • Define a nova configuração do pacote MSIX na anexação do aplicativo inativa. Se você quiser habilitar o pacote MSIX imediatamente, use o -IsActive parâmetro.
  • Grava informações de log no caminho e formato de arquivo padrão.
  1. No mesmo prompt do PowerShell, obtenha uma lista de pacotes MSIX adicionados a um pool de hosts executando os seguintes comandos:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    Get-AzWvdMsixPackage @parameters | Select-Object DisplayName, Name
    

    O resultado é semelhante ao seguinte exemplo:

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Encontre o pacote MSIX que você deseja migrar e use o Name valor do parâmetro na saída anterior:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Migre o pacote MSIX executando os seguintes comandos:

    $parameters = @{
        PermissionSource = 'RAG'
        HostPoolsForNewPackage = $hostPoolId
        PassThru = $true
    }
    
    $msixPackage | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters
    

Migrar todos os pacotes MSIX adicionados a um pool de hosts

Aqui está um exemplo para migrar todos os pacotes MSIX adicionados a um pool de hosts do aplicativo MSIX anexar ao anexo do aplicativo. Este exemplo:

  • Migra pacotes MSIX para o mesmo grupo de recursos e local.
  • Adiciona os novos pacotes de anexação de aplicativo ao mesmo pool de hosts.
  • Define todos os pacotes de anexação de aplicativos como ativos.
  • Define todos os pacotes MSIX como inativos.
  • Copia as permissões do grupo de aplicativos da área de trabalho associado.
  • Grava informações de log em um caminho de arquivo personalizado no C:\MsixToAppAttach.log formato JSON.
  1. No mesmo prompt do PowerShell, obtenha todos os pacotes MSIX adicionados a um pool de hosts e armazene-os em uma variável executando os seguintes comandos:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Migre o pacote MSIX executando os seguintes comandos:

    $logFilePath = "C:\Temp\MsixToAppAttach.log"
    
    $parameters = @{
        IsActive = $true
        DeactivateOrigin = $true
        PermissionSource = 'DAG'
        HostPoolsForNewPackage = $hostPoolId
        PassThru = $true
        LogInJSON = $true
        LogFilePath = $LogFilePath
    }
    
    $msixPackages | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters