Dela via


Migrera MSIX-paket från MSIX-appanslutning till appkoppling

Viktigt!

Appanslutning är för närvarande i förhandsversion. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.

Appanslutning (förhandsversion) förbättrar de administrativa funktionerna och användarupplevelsen via MSIX-appanslutning. Om du använder MSIX-appanslutning kan du migrera dina MSIX-paket till appkoppling med hjälp av ett PowerShell-skript.

Migreringsskriptet kan utföra följande åtgärder:

  • Skapar ett nytt paketobjekt för appkoppling och kan ta bort det ursprungliga MSIX-paketobjektet om det behövs.

  • Kopiera behörigheter från programgrupper som är associerade med värdpoolen och MSIX-paketet.

  • Kopiera platsen och resursgruppen för värdpoolen och MSIX-paketet.

  • Loggmigreringsaktivitet.

Förutsättningar

Om du vill använda migreringsskriptet behöver du:

  • En värdpool som konfigurerats som en valideringsmiljö med minst ett MSIX-paket som lagts till med MSIX-appanslutning.

  • Ett Azure-konto med rollen Desktop Virtualization Contributor Azure role-based access control (RBAC) tilldelad i värdpoolen.

  • En lokal enhet med PowerShell. Kontrollera att du har de senaste versionerna av Az PowerShell och Microsoft Graph PowerShell SDK installerade. Mer specifikt krävs följande moduler:

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

Parametrar

Här är de parametrar som du kan använda med migreringsskriptet:

Parameter Description
MsixPackage MSIX-paketobjektet som ska migreras till ett appkopplingsobjekt. Det här värdet kan skickas via pipeline.
PermissionSource Var du kan hämta behörigheter från för det nya appkopplingsobjektet. Standardvärdet är inga behörigheter som har beviljats. Alternativen är:
  • DAG: den skrivbordsprogramgrupp som är associerad med värdpoolen och MSIX-paketet
  • RAG: en eller flera RemoteApp-programgrupper som är associerade med värdpoolen och MSIX-paketet
Båda alternativen ger behörighet till alla användare och grupper med alla behörigheter som är begränsade specifikt till programgruppen.
HostPoolsForNewPackage Resurs-ID:n för värdpooler för att associera nytt appkopplingsobjekt med. Standardvärdet är inga värdpooler. Värdpooler måste finnas på samma plats som de appkopplingspaket som de är associerade med.
TargetResourceGroupName Resursgrupp för att lagra det nya appkopplingsobjektet. Standardvärdet är resursgruppen för värdpoolen som MSIX-paketet är associerat med.
Location Azure-region för att skapa ett nytt appkopplingsobjekt. Standardvärdet är platsen för värdpoolen som MSIX-paketet är associerat med. Appkopplingspaket måste finnas på samma plats som värdpoolen som de är associerade med.
DeleteOrigin Ta bort MSIX-källpaketet efter migreringen.
IsActive Aktiverar det nya appkopplingsobjektet.
DeactivateOrigin Inaktiverar MSIX-källpaketobjektet efter migreringen.
PassThru Skickar nytt appkopplingsobjekt via. Passthru returnerar objektet för det skapade paketet. Använd det här värdet om du vill inspektera det eller skicka det till ett annat PowerShell-kommando.
LogInJSON Skriv till loggfilen i JSON-format.
LogFilePath Sökvägen till loggfilen, som standard i en temporär mapp, till MsixMigration[Timestamp].log exempel C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. Sökvägen för loggning skrivs till konsolen när skriptet körs.

Ladda ned och kör migreringsskriptet

Så här migrerar du MSIX-paket från MSIX-appanslutning till appanslutning.

Viktigt!

I följande exempel måste du ändra <placeholder> värdena för dina egna.

  1. Öppna en PowerShell-prompt på din lokala enhet.

  2. Ladda ned PowerShell-skriptet Migrate-MsixPackagesToAppAttach.ps1 och avblockera det genom att köra följande kommandon:

    $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. Importera de moduler som krävs genom att köra följande kommandon:

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Anslut till Azure genom att köra följande kommando och följa anvisningarna för att logga in på ditt Azure-konto:

    Connect-AzAccount
    
  5. Anslut till Microsoft Graph genom att köra följande kommando:

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

Följande underavsnitt innehåller några exempel på hur du använder migreringsskriptet. Se avsnittet parametrar för alla tillgängliga parametrar och en beskrivning av varje parameter.

Dricks

Om du inte skickar några parametrar till migreringsskriptet har det följande standardbeteende:

  • Inga behörigheter beviljas till det nya appkopplingspaketet.
  • Det nya appanslutningspaketet är inte associerat med några värdpooler och är inaktivt.
  • Det nya apkopplingspaketet skapas i samma resursgrupp och plats som värdpoolen.
  • Det ursprungliga MSIX-paketet är fortfarande aktivt är inte inaktiverat eller borttaget.
  • Logginformation skrivs till standardfilens sökväg.

Migrera ett specifikt MSIX-paket som lagts till i en värdpool och programgrupp

Här är ett exempel för att migrera ett specifikt MSIX-paket som lagts till i en värdpool från MSIX-appanslutning till appanslutning. Det här exemplet:

  • Migrerar MSIX-paketet till samma resursgrupp och plats som värdpoolen.
  • Tilldelar MSIX-paketet i appanslutningen till samma värdpool och samma användare som RemoteApp-programgruppens källa.
  • Lämnar den befintliga MSIX-paketkonfigurationen i MSIX-appen aktiv i värdpoolen. Om du vill inaktivera MSIX-paketet omedelbart använder du parametern -DeactivateOrigin .
  • Anger den nya MSIX-paketkonfigurationen i appanslutningen inaktiv. Om du vill aktivera MSIX-paketet omedelbart använder du parametern -IsActive .
  • Skriver logginformation till standardfilens sökväg och format.
  1. Från samma PowerShell-prompt får du en lista över MSIX-paket som lagts till i en värdpool genom att köra följande kommandon:

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

    Utdata liknar följande utdata:

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Leta upp det MSIX-paket som du vill migrera och använd värdet från parametern Name i föregående utdata:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Migrera MSIX-paketet genom att köra följande kommandon:

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

Migrera alla MSIX-paket som lagts till i en värdpool

Här är ett exempel för att migrera alla MSIX-paket som lagts till i en värdpool från MSIX-appanslutning till appanslutning. Det här exemplet:

  • Migrerar MSIX-paket till samma resursgrupp och plats.
  • Lägger till de nya appkopplingspaketen till samma värdpool.
  • Anger att alla appkopplingspaket ska vara aktiva.
  • Anger alla MSIX-paket till inaktiva.
  • Kopierar behörigheter från den associerade skrivbordsprogramgruppen.
  • Skriver logginformation till en anpassad filsökväg i C:\MsixToAppAttach.log JSON-format.
  1. Hämta alla MSIX-paket som lagts till i en värdpool från samma PowerShell-prompt och lagra dem i en variabel genom att köra följande kommandon:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Migrera MSIX-paketet genom att köra följande kommandon:

    $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