Configurar o anexo de aplicações MSIX utilizando o PowerShell

Além da portal do Azure, também pode configurar a aplicação MSIX anexar manualmente com o PowerShell. Este artigo irá acompanhá-lo como usar o PowerShell para configurar o anexo de aplicações MSIX.

Requisitos

Aqui está o que precisa para configurar o anexo da aplicação MSIX:

  • Uma implementação de ambiente de trabalho virtual Azure funcional. Para aprender a implementar o Azure Virtual Desktop (clássico), consulte Criar um inquilino no Azure Virtual Desktop. Para aprender a implementar o Azure Virtual Desktop com a integração Resource Manager Azure, consulte Criar uma piscina de anfitriões com o portal do Azure.

  • Uma piscina de anfitriões Azure Virtual Desktop com pelo menos um anfitrião de sessão ativa.

  • Um grupo de aplicações remotas desktop.

  • A ferramenta de embalagem MSIX.

  • Uma aplicação embalada pela MSIX expandiu-se para uma imagem MSIX que é enviada para uma partilha de ficheiros.

  • Uma partilha de ficheiros na sua implementação de Ambiente de Trabalho Virtual Azure onde o pacote MSIX será armazenado.

  • A partilha de ficheiros onde carregou a imagem MSIX também deve estar acessível a todas as máquinas virtuais (VMs) na piscina de anfitrião. Os utilizadores precisarão de permissões apenas de leitura para aceder à imagem.

  • Descarregue e instale o PowerShell Core.

  • Faça o download do módulo Azure PowerShell de pré-visualização do público e expanda-o para uma pasta local.

  • Instale o módulo Azure executando o seguinte cmdlet:

    Install-Module -Name Az -Force
    

Inscreva-se no Azure e importe o módulo

Assim que tiver todos os requisitos prontos, abra o núcleo PowerShell num pedido de comando elevado e execute este cmdlet:

Connect-AzAccount

Depois de executá-la, autente a sua conta usando as suas credenciais. Neste caso, pode ser-lhe pedido um URL do dispositivo ou um token.

Importar o módulo Az.WindowsVirtualDesktop

Você precisará do módulo Az.DesktopVirtualization para seguir as instruções deste artigo.

Nota

Para a pré-visualização pública, forneceremos o módulo como ficheiros ZIP separados que deve importar manualmente.

Antes de iniciar, pode executar o seguinte cmdlet para ver se o módulo Az.DesktopVirtualization já está instalado na sua sessão ou VM:

Get-Module | Where-Object { $_.Name -Like "desktopvirtualization" }

Se quiser desinstalar uma cópia existente do módulo e começar de novo, faça este cmdlet:

Uninstall-Module Az.DesktopVirtualization

Se o módulo estiver bloqueado no seu VM, erte este cmdlet para desbloqueá-lo:

Unblock-File "<path>\Az.DesktopVirtualization.psm1"

Com a limpeza fora do caminho, é hora de importar o módulo.

  1. Executar o cmdlet seguinte e, em seguida, prima a tecla R quando solicitado para concordar em executar o código personalizado.

    Import-Module -Name "<path>\Az.DesktopVirtualization.psm1" -Verbose
    
  2. Depois de ter executado o cmdlet de importação, verifique se tem os cmdlets para o MSIX executando o seguinte cmdlet:

    Get-Command -Module Az.DesktopVirtualization | Where-Object { $_.Name -match "MSIX" }
    

    Se os cmdlets estiverem lá, a saída deve ser assim:

    CommandType     Name                                               Version    Source
    
    -----------     ----                                               -------    ------
    
    Function        Expand-AzWvdMsixImage                              0.0        Az.DesktopVirtualization
    
    Function        Get-AzWvdMsixPackage                               0.0        Az.DesktopVirtualization
    
    Function        New-AzWvdMsixPackage                               0.0        Az.DesktopVirtualization
    
    Function        Remove-AzWvdMsixPackage                            0.0        Az.DesktopVirtualization
    
    Function        Update-AzWvdMsixPackage                            0.0        Az.DesktopVirtualization
    

    Se não vir esta saída, feche todas as sessões PowerShell e PowerShell Core e tente novamente.

Configurar variáveis de ajuda

Depois de importar o módulo, terá de configurar as variáveis de ajudante. Os seguintes exemplos irão mostrar-lhe como fazer cada um.

Para obter o seu ID de subscrição:

Get-AzContext -ListAvailable | fl

Para selecionar o contexto de um inquilino Azure e subscrição com um nome:

$obj = Select-AzContext -Name "<Name>"

Para definir a variável de subscrição:

$subId = $obj.Subscription.Id

Para definir o nome do espaço de trabalho:

$ws = "<WorksSpaceName>"

Para definir o nome da piscina anfitriã:

$hp = "<HostPoolName>"

Para configurar o grupo de recursos onde os VMs do anfitrião da sessão estão configurados:

$rg = "<ResourceGroupName>"

E, finalmente, para confirmar que definiu corretamente todas as variáveis:

Get-AzWvdWorkspace -Name $ws -ResourceGroupName $rg -SubscriptionId $subID

Adicione um pacote MSIX a uma piscina de anfitriões

Uma vez configurado tudo, é hora de adicionar o pacote MSIX a uma piscina de anfitriões. Para isso, primeiro terá de seguir o caminho da UNC para a imagem do MSIX.

Utilizando o caminho unc, executar este cmdlet para expandir a imagem MSIX:

$obj = Expand-AzWvdMsixImage -HostPoolName $hp -ResourceGroupName $rg -SubscriptionId $subID -Uri <UNCPath>

Executar este cmdlet para adicionar o pacote MSIX à piscina de anfitriões desejada:

New-AzWvdMsixPackage -HostPoolName $hp -ResourceGroupName $rg -SubscriptionId $subId -PackageAlias $obj.PackageAlias -DisplayName <DisplayName> -ImagePath <UNCPath> -IsActive:$true

Uma vez feito, confirme que o pacote foi criado com este cmdlet:

Get-AzWvdMsixPackage -HostPoolName $hp -ResourceGroupName $rg -SubscriptionId $subId | Where-Object {$_.PackageFamilyName -eq $obj.PackageFamilyName}

Remova um pacote MSIX de uma piscina de anfitriões

Para remover um pacote de uma piscina hospedeira:

Obtenha uma lista de todos os pacotes associados a uma piscina de anfitrião com este cmdlet, em seguida, encontre o nome do pacote que deseja remover na saída:

Get-AzWvdMsixPackage -HostPoolName $hp -ResourceGroupName $rg -SubscriptionId $subId 

Em alternativa, também pode obter um pacote específico com base no seu nome de exibição com este cmdlet:

Get-AzWvdMsixPackage -HostPoolName $hp -ResourceGroupName $rg -SubscriptionId $subId | Where-Object { $_.Name -like "Power" }

Para remover a embalagem, executar este cmdlet:

Remove-AzWvdMsixPackage -FullName $obj.PackageFullName -HostPoolName $hp -ResourceGroupName $rg

Publicar aplicativos MSIX para um grupo de aplicações

Só pode seguir as instruções desta secção se tiver terminado de seguir as instruções nas secções anteriores. Se você tem uma piscina de anfitriões com um anfitrião de sessão ativa, pelo menos um grupo de aplicações desktop, e você adicionou um pacote MSIX para a piscina anfitriã, você está pronto para ir.

Para publicar uma aplicação do pacote MSIX para um grupo de aplicações, terá de encontrar o seu nome e, em seguida, use esse nome no cmdlet editorial.

Para publicar uma aplicação:

Executar este cmdlet para listar todos os grupos de aplicações disponíveis:

Get-AzWvdApplicationGroup -ResourceGroupName $rg -SubscriptionId $subId

Quando encontrar o nome do grupo de aplicações para o qual pretende publicar aplicações, use o seu nome neste cmdlet:

$grName = "<AppGroupName>"

Finalmente, terá de publicar a aplicação.

  • Para publicar a aplicação MSIX a um grupo de aplicações para desktop, execute este cmdlet:

    New-AzWvdApplication -ResourceGroupName $rg -SubscriptionId $subId -Name PowerBi -ApplicationType MsixApplication -ApplicationGroupName $grName -MsixPackageFamilyName $obj.PackageFamilyName -CommandLineSetting 0
    
  • Para publicar a aplicação a um grupo de aplicações remotas, execute este cmdlet em vez disso:

    New-AzWvdApplication -ResourceGroupName $rg -SubscriptionId $subId -Name PowerBi -ApplicationType MsixApplication -ApplicationGroupName $grName -MsixPackageFamilyName $obj.PackageFamilyName -CommandLineSetting 0 -MsixPackageApplicationId $obj.PackageApplication.AppId
    

Nota

Se um utilizador for designado para um grupo de aplicações remotas e um grupo de aplicações de desktop no mesmo pool de anfitriões, quando o utilizador se ligar ao seu ambiente de trabalho remoto, eles verão aplicações MSIX de ambos os grupos.

Passos seguintes

Faça perguntas à nossa comunidade sobre esta funcionalidade no Azure Virtual Desktop TechCommunity.

Também pode deixar feedback para O Ambiente de Trabalho Virtual Azure no centro de feedback do Azure Virtual Desktop.

Aqui estão outros artigos que pode achar útil: