Konfigurowanie dołączania aplikacji MSIX przy użyciu programu PowerShell

Oprócz Azure Portal można również skonfigurować ręczne dołączanie aplikacji MSIX za pomocą programu PowerShell. W tym artykule opisano sposób konfigurowania dołączania aplikacji MSIX przy użyciu programu PowerShell.

Wymagania

Oto co należy skonfigurować dołączanie aplikacji MSIX:

  • Działające wdrożenie usługi Azure Virtual Desktop. Aby dowiedzieć się, jak wdrożyć usługę Azure Virtual Desktop ( klasyczną), zobacz Tworzenie dzierżawy w usłudze Azure Virtual Desktop. Aby dowiedzieć się, jak wdrożyć usługę Azure Virtual Desktop przy użyciu integracji z usługą Azure Resource Manager, zobacz Tworzenie puli hostów przy użyciu Azure Portal.

  • Pula hostów usługi Azure Virtual Desktop z co najmniej jednym aktywnym hostem sesji.

  • Grupa aplikacji zdalnych pulpitu.

  • Narzędzie do tworzenia pakietów MSIX.

  • Aplikacja spakowana w pakiecie MSIX została rozszerzona na obraz MSIX, który został przekazany do udziału plików.

  • Udział plików we wdrożeniu usługi Azure Virtual Desktop, w którym będzie przechowywany pakiet MSIX.

  • Udział plików, w którym został przekazany obraz MSIX, musi być również dostępny dla wszystkich maszyn wirtualnych w puli hostów. Użytkownicy będą potrzebować uprawnień tylko do odczytu, aby uzyskać dostęp do obrazu.

  • Pobierz i zainstaluj program PowerShell Core.

  • Pobierz publiczny moduł w wersji zapoznawczej Azure PowerShell i rozwiń go do folderu lokalnego.

  • Zainstaluj moduł platformy Azure, uruchamiając następujące polecenie cmdlet:

    Install-Module -Name Az -Force
    

Zaloguj się do platformy Azure i zaimportuj moduł

Po uzyskaniu wszystkich wymagań gotowych otwórz program PowerShell Core w wierszu polecenia z podwyższonym poziomem uprawnień i uruchom następujące polecenie cmdlet:

Connect-AzAccount

Po jego uruchomieniu uwierzytelnij swoje konto przy użyciu poświadczeń. W takim przypadku może zostać wyświetlony monit o podanie adresu URL urządzenia lub tokenu.

Importowanie modułu Az.WindowsVirtualDesktop

Do wykonania instrukcji opisanych w tym artykule potrzebny jest moduł Az.DesktopVirtualization.

Uwaga

W publicznej wersji zapoznawczej udostępnimy moduł jako oddzielne pliki ZIP, które należy zaimportować ręcznie.

Przed rozpoczęciem możesz uruchomić następujące polecenie cmdlet, aby sprawdzić, czy moduł Az.DesktopVirtualization jest już zainstalowany na sesji lub maszynie wirtualnej:

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

Jeśli odinstalujesz istniejącą kopię modułu i uruchom polecenie cmdlet, uruchom następujące polecenie cmdlet:

Uninstall-Module Az.DesktopVirtualization

Jeśli moduł jest zablokowany na maszynie wirtualnej, uruchom to polecenie cmdlet, aby go odblokować:

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

Po zakończeniu czyszczenia nadszedł czas na zaimportowanie modułu.

  1. Uruchom następujące polecenie cmdlet, a następnie naciśnij klawisz języka R po wyświetleniu monitu o zgodę na uruchomienie kodu niestandardowego.

    Import-Module -Name "<path>\Az.DesktopVirtualization.psm1" -Verbose
    
  2. Po uruchomieniu polecenia cmdlet importu sprawdź, czy ma on polecenia cmdlet msiX, uruchamiając następujące polecenie cmdlet:

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

    Jeśli istnieją polecenia cmdlet, dane wyjściowe powinny wyglądać następująco:

    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
    

    Jeśli te dane wyjściowe nie są widoczne, zamknij wszystkie sesje programu PowerShell i programu PowerShell Core i spróbuj ponownie.

Konfigurowanie zmiennych pomocnika

Po zaimportowaniu modułu należy skonfigurować zmienne pomocnicze. W poniższych przykładach pokazano, jak wykonać każdy z nich.

Aby uzyskać identyfikator subskrypcji:

Get-AzContext -ListAvailable | fl

Aby wybrać kontekst dzierżawy i subskrypcji platformy Azure o nazwie:

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

Aby ustawić zmienną subskrypcji:

$subId = $obj.Subscription.Id

Aby ustawić nazwę obszaru roboczego:

$ws = "<WorksSpaceName>"

Aby ustawić nazwę puli hostów:

$hp = "<HostPoolName>"

Aby skonfigurować grupę zasobów, w której skonfigurowano maszyny wirtualne hosta sesji:

$rg = "<ResourceGroupName>"

Na koniec, aby potwierdzić, że wszystkie zmienne zostały poprawnie ustawione:

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

Dodawanie pakietu MSIX do puli hostów

Po skonfigurowaniu wszystkiego nadszedł czas, aby dodać pakiet MSIX do puli hostów. W tym celu należy najpierw uzyskać ścieżkę UNC do obrazu MSIX.

Za pomocą ścieżki UNC uruchom to polecenie cmdlet, aby rozwinąć obraz MSIX:

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

Uruchom to polecenie cmdlet, aby dodać pakiet MSIX do żądanej puli hostów:

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

Po zakończeniu upewnij się, że pakiet został utworzony za pomocą tego polecenia cmdlet:

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

Usuwanie pakietu MSIX z puli hostów

Aby usunąć pakiet z puli hostów:

Pobierz listę wszystkich pakietów skojarzonych z pulą hostów za pomocą tego polecenia cmdlet, a następnie znajdź nazwę pakietu, który chcesz usunąć w danych wyjściowych:

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

Alternatywnie możesz również pobrać określony pakiet na podstawie jego nazwy wyświetlanej za pomocą tego polecenia cmdlet:

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

Aby usunąć pakiet, uruchom następujące polecenie cmdlet:

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

Publikowanie aplikacji MSIX w grupie aplikacji

Instrukcje podane w tej sekcji można wykonać tylko po zakończeniu wykonywania instrukcji w poprzednich sekcjach. Jeśli masz pulę hostów z aktywnym hostem sesji, co najmniej jedną grupę aplikacji klasycznych i dodano pakiet MSIX do puli hostów, możesz przystąpić do pracy.

Aby opublikować aplikację z pakietu MSIX w grupie aplikacji, należy znaleźć jej nazwę, a następnie użyć tej nazwy w poleceniu cmdlet publikowania.

Aby opublikować aplikację:

Uruchom to polecenie cmdlet, aby wyświetlić listę wszystkich dostępnych grup aplikacji:

Get-AzWvdApplicationGroup -ResourceGroupName $rg -SubscriptionId $subId

Po znalezieniu nazwy grupy aplikacji, do której chcesz opublikować aplikacje, użyj jej nazwy w tym poleceniu cmdlet:

$grName = "<AppGroupName>"

Na koniec musisz opublikować aplikację.

  • Aby opublikować aplikację MSIX w grupie aplikacji klasycznych, uruchom następujące polecenie cmdlet:

    New-AzWvdApplication -ResourceGroupName $rg -SubscriptionId $subId -Name PowerBi -ApplicationType MsixApplication -ApplicationGroupName $grName -MsixPackageFamilyName $obj.PackageFamilyName -CommandLineSetting 0
    
  • Aby opublikować aplikację w zdalnej grupie aplikacji, uruchom następujące polecenie cmdlet:

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

Uwaga

Jeśli użytkownik jest przypisany zarówno do zdalnej grupy aplikacji, jak i grupy aplikacji klasycznych w tej samej puli hostów, gdy użytkownik łączy się ze swoim pulpitem zdalnym, zobaczy aplikacje MSIX z obu grup.

Następne kroki

Zadaj nasze pytania społeczności dotyczące tej funkcji w witrynie TechCommunity usługi Azure Virtual Desktop.

Możesz również zostawić opinię dotyczącą usługi Azure Virtual Desktop w centrum opinii usługi Azure Virtual Desktop.

Oto kilka innych artykułów, które mogą okazać się przydatne: