Compartilhar via


Migrar pacotes MSIX da anexação do aplicativo MSIX para a anexação de aplicativo

Anexar os aplicativos melhora as experiências administrativas e do usuário em relação à anexação do aplicativo MSIX. Se você usar a anexação do aplicativo MSIX, poderá migrar seus pacotes MSIX para a anexação de aplicativo 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.

  • Copia as permissões de acesso dos grupos de aplicativos associados ao pool de aplicativos e ao pacote MSIX.

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

  • Log da atividade de migração.

Pré-requisitos

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

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

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

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

    • 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 Descrição
MsixPackage O objeto do pacote MSIX a ser migrado para um objeto de anexação de aplicativo. Esse valor pode ser passado via pipeline.
PermissionSource Onde obter permissões de acesso para o novo objeto de anexação do aplicativo MSIX. O padrão é que nenhuma permissão seja concedida. As opções são:
  • DAG: o grupo de aplicativos da área de trabalho do Windows associado ao pool de aplicativos e ao pacote MSIX
  • RAG: um ou mais grupos de aplicativos RemoteApp associados ao pool de aplicativos do host e ao pacote MSIX
Ambas as opções concedem permissão a todos os usuários e grupos com qualquer permissão que tenha escopo específico para o grupo de aplicativos.
HostPoolsForNewPackage IDs do recurso de pools de hosts aos quais associar o novo objeto de anexação do aplicativo MSIX. O padrão é sem pools de hosts. Os pools de hosts devem estar no mesmo local que os pacotes de anexação do aplicativo MSIX aos quais estão associados.
TargetResourceGroupName Grupo de recursos para armazenar o novo objeto de anexação do aplicativo MSIX. O padrão é o grupo de recursos do pool de hosts ao qual o pacote MSIX está associado.
Location Região do Azure AD para criar o novo objeto de anexação do aplicativo MSIX. O padrão é o local do pool de hosts ao qual o pacote MSIX está associado. Os pacotes de anexação do aplicativo MSIX precisam estar no mesmo local que o pool de hosts ao qual estão associados.
DeleteOrigin Excluir o pacote MSIX de origem após a migração.
IsActive Habilita o novo objeto de anexação do aplicativo MSIX.
DeactivateOrigin Desabilita o objeto do pacote MSIX de origem após a migração.
PassThru Passa o novo objeto de anexação do aplicativo MSIX através dele. Passthru retorna o objeto do pacote criado. Use esse valor se desejar inspecioná-lo ou passá-lo para outro comando do PowerShell.
LogInJSON Grava no arquivo de log no formato JSON.
LogFilePath Caminho do arquivo de log. O padrão é MsixMigration[Timestamp].log em uma pasta temporária, como C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. O caminho para os logs é gravado no console quando o script é executado.

Baixar e executar o script de migração

Instruções sobre como migrar pacotes MSIX de anexação do aplicativo MSIX para anexação do aplicativo MSIX.

Importante

Nos exemplos a seguir, será necessário alterar os valores de <placeholder> para os seus próprios.

  1. Abra um prompt do PowerShell no dispositivo local.

  2. Baixe o script do PowerShell Migrate-MsixPackagesToAppAttach.ps1 e desbloqueie-o para executar 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 para executar os comandos a seguir:

    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 na 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 parâmetros para obter todos os parâmetros disponíveis e uma descrição de cada parâmetro.

Dica

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 aplicativo 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 foi desabilitado nem excluído.
  • As informações do 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 de anexação do aplicativo MSIX para anexação do aplicativo. Neste 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 MSIX ao mesmo pool de aplicativos 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 desejar desabilitar o pacote MSIX imediatamente, use o parâmetro -DeactivateOrigin.
  • Define as configurações do novo pacote MSIX na anexação inativa do aplicativo. Se você desejar habilitar o pacote MSIX imediatamente, use o parâmetro -IsActive.
  • Grava as informações do log no caminho e no formato padrão do arquivo.
  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
    

    A saída deverá ser 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 valor do parâmetro Name 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 de anexação do aplicativo MSIX para anexação de aplicativo. Neste exemplo:

  • Migra os pacotes MSIX para o mesmo grupo de recursos e local.
  • Adiciona os novos pacotes do aplicativo MSIX ao mesmo pool de hosts.
  • Define todos os pacotes do aplicativo MSIX como ativos.
  • Define todos os pacotes MSIX como inativos.
  • Copia as permissões de acesso do grupo de aplicativos da área de trabalho do Windows associado.
  • Grava as informações do log em um caminho de arquivo personalizado em C:\MsixToAppAttach.log no 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 para executar 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