Sdílet prostřednictvím


Migrace balíčků MSIX z aplikace MSIX připojit k připojení aplikace

Připojení aplikace vylepšuje možnosti správy a uživatelů přes připojení aplikace MSIX. Pokud používáte připojení aplikace MSIX, můžete migrovat balíčky MSIX na připojení aplikace pomocí skriptu PowerShellu.

Skript migrace může provádět následující akce:

  • Vytvoří nový objekt balíčku pro připojení aplikace a v případě potřeby může původní objekt balíčku MSIX odstranit.

  • Zkopírujte oprávnění ze skupin aplikací přidružených k fondu hostitelů a balíčku MSIX.

  • Zkopírujte umístění a skupinu prostředků fondu hostitelů a balíčku MSIX.

  • Aktivita migrace protokolu

Požadavky

Pokud chcete použít skript migrace, potřebujete:

Parametry

Tady jsou parametry, které můžete použít se skriptem migrace:

Parametr Popis
MsixPackage Objekt balíčku MSIX, který se má migrovat na objekt připojení aplikace. Tuto hodnotu je možné předat prostřednictvím kanálu.
PermissionSource Kde získat oprávnění pro nový objekt připojení aplikace Výchozí hodnota není udělena žádná oprávnění. Možnosti jsou následující:
  • DAG: skupina desktopových aplikací přidružená k fondu hostitelů a balíčku MSIX
  • RAG: Jedna nebo více skupin aplikací RemoteApp přidružených k fondu hostitelů a balíčku MSIX
Obě možnosti uděluje oprávnění všem uživatelům a skupinám s libovolným oprávněním, které je vymezeno speciálně pro skupinu aplikací.
HostPoolsForNewPackage ID prostředků fondů hostitelů pro přidružení nového objektu pro připojení aplikace. Ve výchozím nastavení nejsou žádné fondy hostitelů. Fondy hostitelů musí být ve stejném umístění jako balíčky připojení aplikace, ke kterým jsou přidružené.
TargetResourceGroupName Skupina prostředků pro uložení nového objektu připojení aplikace Výchozí hodnota je skupina prostředků fondu hostitelů, ke které je přidružený balíček MSIX.
Location Oblast Azure pro vytvoření nového objektu pro připojení aplikace Výchozí hodnota je umístění fondu hostitelů, ke kterému je přidružený balíček MSIX. Balíčky připojení aplikace musí být ve stejném umístění jako fond hostitelů, ke kterým jsou přidružené.
DeleteOrigin Po migraci odstraňte zdrojový balíček MSIX.
IsActive Povolí nový objekt připojení aplikace.
DeactivateOrigin Po migraci zakáže zdrojový objekt balíčku MSIX.
PassThru Předá nový objekt připojení aplikace prostřednictvím. Passthru vrátí objekt pro vytvořený balíček. Tuto hodnotu použijte, pokud ji chcete zkontrolovat nebo předat jinému příkazu PowerShellu.
LogInJSON Zápis do souboru protokolu ve formátu JSON
LogFilePath Cesta k souboru protokolu, výchozí hodnota MsixMigration[Timestamp].log je v dočasné složce, například C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. Cesta pro protokolování se zapíše do konzoly při spuštění skriptu.

Stažení a spuštění skriptu migrace

Tady je postup, jak migrovat balíčky MSIX z aplikace MSIX, které se připojují k připojení aplikace.

Důležité

V následujících příkladech budete muset změnit <placeholder> hodnoty pro vlastní.

  1. Na místním zařízení otevřete příkazový řádek PowerShellu.

  2. Stáhněte skript Migrate-MsixPackagesToAppAttach.ps1 PowerShellu a odblokujte ho spuštěním následujících příkazů:

    $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. Importujte požadované moduly spuštěním následujících příkazů:

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Připojte se k Azure spuštěním následujícího příkazu a následujícím příkazem se přihlaste ke svému účtu Azure:

    Connect-AzAccount
    
  5. Připojte se k Microsoft Graphu spuštěním následujícího příkazu:

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

Následující pododdíly obsahují některé příklady použití skriptu migrace. Projděte si část s parametry pro všechny dostupné parametry a popis jednotlivých parametrů.

Tip

Pokud do skriptu migrace nepředáte žádné parametry, má následující výchozí chování:

  • Novému balíčku pro připojení aplikace nejsou udělena žádná oprávnění.
  • Nový balíček pro připojení aplikace není přidružený k žádným fondům hostitelů a je neaktivní.
  • Nový balíček pro připojení aplikace se vytvoří ve stejné skupině prostředků a umístění jako fond hostitelů.
  • Původní balíček MSIX je stále aktivní, není zakázán nebo odstraněn.
  • Informace protokolu se zapisuje do výchozí cesty k souboru.

Migrace konkrétního balíčku MSIX přidaného do fondu hostitelů a skupiny aplikací

Tady je příklad migrace konkrétního balíčku MSIX přidaného do fondu hostitelů z aplikace MSIX, která se připojí k připojení aplikace. Tento příklad:

  • Migruje balíček MSIX do stejné skupiny prostředků a umístění jako fond hostitelů.
  • Přiřadí balíček MSIX v aplikaci k připojení ke stejnému fondu hostitelů a stejným uživatelům jako zdroj skupiny aplikací RemoteApp.
  • Ponechá stávající konfiguraci balíčku MSIX v aplikaci MSIX aktivní ve fondu hostitelů. Pokud chcete balíček MSIX okamžitě zakázat, použijte tento -DeactivateOrigin parametr.
  • Nastaví novou konfiguraci balíčku MSIX v neaktivním připojení aplikace. Pokud chcete balíček MSIX povolit okamžitě, použijte tento -IsActive parametr.
  • Zapíše informace protokolu do výchozí cesty k souboru a formátu.
  1. Ze stejného příkazového řádku PowerShellu získejte seznam balíčků MSIX přidaných do fondu hostitelů spuštěním následujících příkazů:

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

    Výstup je podobný následujícímu výstupu:

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Vyhledejte balíček MSIX, který chcete migrovat, a použijte hodnotu z parametru Name v předchozím výstupu:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Spuštěním následujících příkazů migrujte balíček MSIX:

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

Migrace všech balíčků MSIX přidaných do fondu hostitelů

Tady je příklad migrace všech balíčků MSIX přidaných do fondu hostitelů z aplikace MSIX, která se připojí k připojení aplikace. Tento příklad:

  • Migruje balíčky MSIX do stejné skupiny prostředků a umístění.
  • Přidá nové balíčky připojení aplikace do stejného fondu hostitelů.
  • Nastaví všechny balíčky připojení aplikace na aktivní.
  • Nastaví všechny balíčky MSIX na neaktivní.
  • Zkopíruje oprávnění z přidružené skupiny desktopových aplikací.
  • Zapíše informace protokolu do vlastní cesty C:\MsixToAppAttach.log k souboru ve formátu JSON.
  1. Ze stejného příkazového řádku PowerShellu získejte všechny balíčky MSIX přidané do fondu hostitelů a uložte je do proměnné spuštěním následujících příkazů:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Spuštěním následujících příkazů migrujte balíček MSIX:

    $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