Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Appkoppling kan du dynamiskt koppla program från ett programpaket till en användarsession i Azure Virtual Desktop. Program installeras inte lokalt på sessionsvärdar eller avbildningar, vilket gör det enklare att skapa anpassade avbildningar för dina sessionsvärdar och minskar driftkostnaderna och kostnaderna för din organisation. Program körs i behållare, som separerar användardata, operativsystemet och andra program, vilket ökar säkerheten och gör dem enklare att felsöka.
Här är några av de viktigaste fördelarna med App Attach:
Program levereras med RemoteApp eller som en del av en skrivbordssession. Behörigheter tillämpas per program och användare, vilket ger dig större kontroll över vilka program användarna kan komma åt i en fjärrsession. Skrivbordsanvändare kan bara se de app bifoga program som tilldelats dem.
Samma programpaket kan användas i flera värdpooler.
Program kan köras på vilken sessionsvärd som helst som kör en Windows-klient eller ett Windows-serveroperativsystem som stöds i samma Azure-region som programpaketet.
Program kan uppgraderas till en ny programversion med en ny diskavbildning utan behov av en underhållsperiod.
Användare kan köra flera versioner av samma program samtidigt på samma sessionsvärd.
Telemetri för användning och hälsa är tillgängligt via Azure Log Analytics.
Du kan använda följande programpakettyper och filformat:
| Pakettyp | Filformat |
|---|---|
| MSIX- och MSIX-paket | .msix.msixbundle |
| Appx- och Appx-paket | .appx.appxbundle |
| App-V | .appv |
MSIX och Appx är Windows-programpaketformat som ger en modern paketeringsupplevelse för Windows-program. Program körs i behållare, som separerar användardata, operativsystemet och andra program, vilket ökar säkerheten och gör dem enklare att felsöka. MSIX och Appx liknar varandra, där den största skillnaden är att MSIX är en supermängd av Appx. MSIX stöder alla funktioner i Appx, plus andra funktioner som gör det mer lämpligt för företagsanvändning.
Microsoft Application Virtualization (App-V) för Windows levererar Win32-program till användare som virtuella program. Virtuella applikationer installeras på centralt hanterade servrar och levereras till användare som en tjänst i realtid och vid behov. Användare startar virtuella program från välbekanta åtkomstpunkter och interagerar med dem som om de var installerade lokalt.
Du kan få MSIX-paket från programvaruleverantörer eller så kan du skapa ett MSIX-paket från ett befintligt installationsprogram. Mer information om MSIX finns i Vad är MSIX?.
Hur en användare hämtar en ansökan
Du kan tilldela olika program till olika användare i samma värdpool eller på samma sessionsvärd. Under inloggningen måste alla tre av följande krav uppfyllas för att användaren ska få rätt program vid rätt tidpunkt:
Programmet måste tilldelas till värdpoolen. Genom att tilldela programmet till värdpoolen kan du vara selektiv när det gäller vilka värdpooler programmet är tillgängligt på för att säkerställa att rätt maskinvaruresurser är tillgängliga för användning av programmet. Om ett program till exempel är grafikintensivt kan du se till att det bara körs i en värdpool med GPU-optimerade sessionsvärdar.
Användaren måste kunna logga in på sessionsvärdar i värdpoolen, så de måste finnas i en skrivbords- eller RemoteApp-programgrupp. För en RemoteApp-programgrupp måste appen Koppla app läggas till i programgruppen, men du behöver inte lägga till programmet i en skrivbordsprogramgrupp.
Programmet måste vara tilldelat till användaren. Du kan använda en grupp eller ett användarkonto.
Om alla dessa krav uppfylls får användaren programmet. Den här processen ger kontroll över vem som får ett program i vilken värdpool och även hur det är möjligt för användare i en enda värdpool eller till och med inloggade på samma värd för flera sessioner att få olika programkombinationer. Användare som inte uppfyller kraven får inte programmet.
Programbilder
Innan du kan använda MSIX-programpaket med Azure Virtual Desktop måste du skapa en MSIX-avbildning från dina befintliga programpaket. Du kan också använda ett App-V-paket i stället. Du måste sedan lagra varje MSIX-avbildning eller App-V-paket på en filresurs som är tillgänglig för sessionsvärdarna. Mer information om kraven för en filresurs finns i Filresurs.
Typer av diskavbildningar
För MSIX- och Appx-diskavbildningar kan du använda CimFS (Composite Image File System),VHDX eller VHD, men vi rekommenderar inte att du använder VHD. Montering och demontering av CimFS-avbildningar går snabbare än VHD- och VHDX-avbildningar och förbrukar även mindre processor och minne. Vi rekommenderar att du bara använder CimFS för dina programavbildningar om sessionsvärdarna kör Windows 11.
En CimFS-avbildning är en kombination av flera filer: en fil har .cim filnamnstillägget och innehåller metadata, tillsammans med minst två andra filer, en som börjar med objectid_ och den andra som börjar med region_ som innehåller de faktiska applikationsdata. Filerna som medföljer .cim filen har inget filnamnstillägg. I följande tabell finns en lista med exempel på filer som du hittar för en CimFS-avbildning:
| Filnamn | Storlek |
|---|---|
MyApp.cim |
1 kB |
objectid_b5742e0b-1b98-40b3-94a6-9cb96f497e56_0 |
27 kB |
objectid_b5742e0b-1b98-40b3-94a6-9cb96f497e56_1 |
20 kB |
objectid_b5742e0b-1b98-40b3-94a6-9cb96f497e56_2 |
42 kB |
region_b5742e0b-1b98-40b3-94a6-9cb96f497e56_0 |
428 kB |
region_b5742e0b-1b98-40b3-94a6-9cb96f497e56_1 |
217 kB |
region_b5742e0b-1b98-40b3-94a6-9cb96f497e56_2 |
264 132 kB |
Följande tabell är en prestandajämförelse mellan VHDX och CimFS. Dessa siffror var resultatet av en testkörning med 500 filer på 300 MB vardera per format och testerna utfördes på en virtuell DSv4 Azure-maskin.
| Metriska enheter | VHD | CimFS |
|---|---|---|
| Genomsnittlig monteringstid | 356 ms | 255 ms |
| Genomsnittlig demonteringstid | 1615 ms | 36 ms |
| Minnesförbrukning | 6 % (av 8 GB) | 2% (av 8 GB) |
| CPU (antal spikar) | Maxat flera gånger | Ingen effekt |
Registrering av program
App Attach monterar diskavbildningar eller App-V-paket som innehåller dina program från en filresurs till en användares session under inloggningen. Sedan gör en registreringsprocess programmen tillgängliga för användaren. Det finns två typer av registrering:
På begäran: program registreras endast delvis vid inloggningen och den fullständiga registreringen av ett program skjuts upp tills användaren startar programmet. På begäran är den registreringstyp som vi rekommenderar att du använder eftersom den inte påverkar tiden det tar att logga in på Azure Virtual Desktop. På begäran är standardregistreringsmetoden.
Loggblockering: varje program som du tilldelar till en användare är fullständigt registrerat. Registreringen sker när användaren loggar in på sin session, vilket kan påverka inloggningstiden till Azure Virtual Desktop.
Viktigt
Alla MSIX- och Appx-programpaket innehåller ett certifikat. Du ansvarar för att se till att certifikaten är betrodda i din miljö. Självsignerade certifikat stöds med lämplig förtroendekedja.
Appkoppling begränsar inte antalet program som användarna kan använda. Tänk på det tillgängliga nätverksdataflödet och antalet öppna referenser per fil (varje bild) som filresursen stöder, eftersom det kan begränsa antalet användare eller program som du stöder. Mer information finns i Filresurs.
Programtillstånd
Programpaket anges som aktiva eller inaktiva. Paket som är inställda på aktiva gör programmet tillgängligt för användare. Azure Virtual Desktop ignorerar paket som är inställda på inaktiva och läggs inte till när en användare loggar in.
Nya versioner av program
Du kan lägga till en ny version av ett program genom att ange en ny avbildning som innehåller det uppdaterade programmet. Du kan använda den här nya avbildningen på två sätt:
Sida vid sida: skapa ett nytt program med den nya diskavbildningen och tilldela det till samma värdpooler och användare som det befintliga programmet.
På plats: skapa en ny avbildning där programmets versionsnummer ändras och uppdatera sedan det befintliga programmet så att det använder den nya avbildningen. Versionsnumret kan vara högre eller lägre, men du kan inte uppdatera ett program med samma versionsnummer. Ta inte bort den befintliga avbildningen förrän alla användare har använt den klart.
När den har uppdaterats får användarna den uppdaterade programversionen nästa gång de loggar in. Användarna behöver inte sluta använda den tidigare versionen för att lägga till en ny version.
Identitetsprovidrar
Här är de identitetsprovidrar som du kan använda med appkoppling:
| Identitetsprovider | Status |
|---|---|
| Microsoft Entra ID | Stöds |
| Doménové služby Active Directory (AD DS) | Stöds |
| Microsoft Entra Domain Services | Stöds inte |
Filresurs
Appkoppling kräver att dina programavbildningar lagras på en SMB-filresurs som sedan monteras på varje sessionsvärd under inloggningen. Appkoppling har inte beroenden av den typ av lagringsinfrastruktur som filresursen använder. Vi rekommenderar att du använder Azure Files eftersom det är kompatibelt med Microsoft Entra ID eller Doménové služby Active Directory och erbjuder stort värde mellan kostnader och hanteringskostnader.
Du kan också använda Azure NetApp Files, men det kräver att sessionsvärdarna är anslutna till Doménové služby Active Directory.
Följande avsnitt innehåller vägledning om de behörigheter, prestanda och tillgänglighet som krävs för filresursen.
Behörigheter
Varje sessionsvärd monterar programavbildningar från filresursen. Du måste konfigurera NTFS- och resursbehörigheter för att ge varje sessionsvärddatorobjekt läsbehörighet till filerna och filresursen. Hur du konfigurerar rätt behörighet beror på vilken lagringsprovider och identitetsprovider du använder för filresursen och sessionsvärdarna.
Om du vill använda Azure Files när sessionsvärdarna är anslutna till Microsoft Entra ID måste du tilldela rollen Läsare och dataåtkomst Azure rollbaserad åtkomstkontroll (RBAC) till både Azure Virtual Desktop- och Azure Virtual Desktop ARM-providertjänstens huvudnamn. Med den här RBAC-rolltilldelningen kan dina sessionsvärdar komma åt lagringskontot med hjälp av åtkomstnycklar eller Microsoft Entra.
Information om hur du tilldelar en Azure RBAC-roll till Azure Virtual Desktop-tjänstens huvudnamn finns i Tilldela RBAC-roller till Azure Virtual Desktop-tjänstens huvudnamn. I en kommande uppdatering behöver du inte tilldela Azure Virtual Desktop ARM-providertjänstens huvudnamn.
Mer information om hur du använder Azure Files med sessionsvärdar som är anslutna till Microsoft Entra ID, Doménové služby Active Directory eller Microsoft Entra Domain Services finns i Översikt över Azure Files identitetsbaserade autentiseringsalternativ för SMB-åtkomst.
Varning
Om du tilldelar Azure Virtual Desktop ARM-providertjänstens huvudnamn till lagringskontot beviljas Azure Virtual Desktop-tjänsten till alla data i lagringskontot. Vi rekommenderar att du bara lagrar appar som ska användas med Appkoppling i det här lagringskontot och roterar snabbtangenterna regelbundet.
För Azure Files med Doménové služby Active Directory måste du tilldela rollen Storage File Data SMB Share Reader Azure rollbaserad åtkomstkontroll (RBAC) som standardbehörighet på resursnivå och konfigurera NTFS-behörigheter för att ge läsåtkomst till varje sessionsvärds datorobjekt.
Mer information om hur du använder Azure Files med sessionsvärdar som är anslutna till Microsoft Entra ID, Doménové služby Active Directory eller Microsoft Entra Domain Services finns i Översikt över Azure Files identitetsbaserade autentiseringsalternativ för SMB-åtkomst.
För Azure NetApp Files kan du skapa en SMB-volym och konfigurera NTFS-behörigheter för att ge läsbehörighet till varje sessionsvärds datorobjekt. Dina sessionsvärdar måste vara anslutna till Doménové služby Active Directory eller Microsoft Entra Domain Services.
Du kan kontrollera att behörigheterna är korrekta med hjälp av PsExec. Mer information finns i Kontrollera åtkomst till filresurser.
User and Deployment Configuration Files
För App-V-paket som levereras via App Attach kan du använda dynamiska App-V-konfigurationsfiler för att anpassa programmets beteende. Appkoppling identifierar automatiskt standardkonfigurationsfiler som följer den förväntade namngivningskonventionen. Om de finns i samma mapp som App Connectivity-paketet och xml föregås av namnet på App-V-filen, associeras dessa filer automatiskt med programpaketet under bearbetningen. Om sökvägen är \resurs\mapp\filnamn.appv identifieras exemplen nedan automatiskt och används med paketet.
\share\folder\filename_UserConfig.xml
\share\folder\filename_DeploymentConfig.xml
$a = Get-AzWvdAppAttachPackage -SubscriptionId blahblah -ResourceGroupName blahblahrg -Name contosoPackage
$dependencyType = $a.GetType().Assembly.GetTypes() |
Where-Object {
$_.Name -eq 'MsixPackageDependencies' -and
$_.Namespace -like '*DesktopVirtualization*'
} |
Select-Object -First 1
$newDependency = [System.Activator]::CreateInstance($dependencyType)
$newDependency.DependencyName = "FilePathToUserConfig"
$newDependency.Publisher = "Group Object Id"
$newDependency.MinVersion = 1
$dependencyList = $a.ImagePackageDependency
$dependencyList += $newDependency
Update-AzWvdAppAttachPackage -ImagePackageDependency $dependencyList -SubscriptionId blahblah -ResourceGroupName blahblahrg -Name contosoPackage
# Remove logic
$a = Get-AzWvdAppAttachPackage -SubscriptionId blahblah -ResourceGroupName blahblahrg -Name contosoPackage
$dependencyList = $a.ImagePackageDependency
$dependencyList = $dependencyList | where-Object {$_.DependencyName -ne "FilePathToUserConfig"}
Update-AzWvdAppAttachPackage -ImagePackageDependency $dependencyList -SubscriptionId blahblah -ResourceGroupName blahblahrg -Name contosoPackage
Användarkonfigurationsfiler utvärderas på användarnivå, vilket gör att olika användare kan ta emot olika programinställningar. Konfigurationsfiler för distribution tillämpas däremot på datornivå och delas av alla användare på sessionsvärden. För närvarande stöds användarkonfiguration endast för skrivbordsanslutningar, inte fjärrappanslutningar.
Avancerade scenarier kan kräva flera användarkonfigurationsfiler för samma program. I dessa fall måste de ytterligare användarkonfigurationsfilerna uttryckligen associeras med programpaketet med PowerShell.
Appkoppling kontrollerar beroendeobjektet
Har en sökväg angiven i fältet Beroendenamn som slutar med UserConfig.xml
Innehåller ett utgivarfält som identifierar den Microsoft Entra säkerhetsgrupp som ska ta emot den konfigurationen. Värdet för appaketets utgivarfält måste vara inställt på objekt-ID för målsäkerhetsgruppen.
Under inloggningen utvärderar Appkoppling användarens gruppmedlemskap och tillämpar lämplig användarkonfiguration baserat på den associerade gruppen.
Administratörer bör endast använda flera användarkonfigurationsfiler när olika användarpopulationer kräver distinkta programinställningar. Standarddistributioner kan fortsätta att förlita sig på den automatiskt identifierade konfigurationsfilen för en enskild användare.
Prestanda
Kraven kan variera mycket beroende på hur många paketerade program som lagras i en avbildning och du måste testa dina program för att förstå dina krav. För större bilder måste du allokera mer bandbredd. I följande tabell visas ett exempel på de krav som krävs för en enskild avbildning på 1 GB eller App-V-paket som innehåller ett program per sessionsvärd:
| Resurs | Krav |
|---|---|
| IOPs för stabilt tillstånd | En IOP |
| Inloggning med maskinstart | 10 IOPs |
| Svarstid | 400 ms |
För att optimera prestanda för dina program rekommenderar vi:
Filresursen ska finnas i samma Azure -region som sessionsvärdarna. Om du använder Azure Files måste ditt lagringskonto finnas i samma Azure region som sessionsvärdarna.
Exkludera diskavbildningar som innehåller dina program från antivirusgenomsökningar eftersom de är skrivskyddade.
Se till att lagrings- och nätverksinfrastrukturen kan ge tillräcklig prestanda. Du bör undvika att använda samma filresurs med FSLogix-profilcontainrar.
Tillgänglighet
Alla haveriberedskapsplaner för Azure Virtual Desktop måste omfatta replikering av filresursen till din sekundära redundansplats. Du måste också se till att sökvägen till filresursen är tillgänglig på den sekundära platsen. Du kan till exempel använda DFS-namnrymder (Distributed File System) med Azure Files för att ange ett enda resursnamn mellan olika filresurser. Mer information om haveriberedskap för Azure Virtual Desktop finns i Konfigurera en plan för affärskontinuitet och haveriberedskap.
Azure Files
Azure Files har gränser för antalet öppna referenser per rotkatalog, katalog och fil. VHDX- eller CimFS-diskavbildningar monteras med datorkontot för sessionsvärden, vilket innebär att en referens öppnas per sessionsvärd per diskavbildning i stället för per användare. Mer information om gränser och storleksvägledning finns i Azure Files skalbarhets- och prestandamål och Azure Files storleksvägledning för Azure Virtual Desktop.
MSIX- och Appx-paketcertifikat
Alla MSIX- och Appx-paket kräver ett giltigt kodsigneringscertifikat. Om du vill använda dessa paket med appkoppling måste du se till att hela certifikatkedjan är betrodd på sessionsvärdarna. Ett kodsigneringscertifikat har objektidentifieraren 1.3.6.1.5.5.7.3.3. Du kan hämta ett kodsigneringscertifikat för dina paket från:
En offentlig certifikatutfärdare (CA).
En intern företagsutfärdare eller fristående certifikatutfärdare, till exempel služba Active Directory Certificate Services. Du måste exportera kodsigneringscertifikatet, inklusive dess privata nyckel.
Ett verktyg som PowerShell-cmdleten New-SelfSignedCertificate som genererar ett självsignerat certifikat. Du bör endast använda självsignerade certifikat i en testmiljö. Mer information om hur du skapar ett självsignerat certifikat för MSIX- och Appx-paket finns i Skapa ett certifikat för paketsignering.
När du har fått ett certifikat måste du signera dina MSIX- eller Appx-paket digitalt med certifikatet. Du kan använda MSIX-paketeringsverktyget för att signera dina paket när du skapar ett MSIX-paket. Mer information finns i Skapa ett MSIX-paket från ett skrivbordsinstallationsprogram.
För att säkerställa att certifikatet är betrott på sessionsvärdarna måste sessionsvärdarna lita på hela certifikatkedjan. Hur dina sessionsvärdar litar på certifikatkedjan beror på varifrån du fick certifikatet och hur du hanterar sessionsvärdarna samt vilken identitetsprovider du använder. Följande tabell innehåller vägledning om hur du säkerställer att certifikatet är betrott på sessionsvärdarna:
Offentlig certifikatutfärdare: certifikat från en offentlig certifikatutfärdare är betrodda som standard i Windows och Windows Server.
Internt företagscertifikatutfärdare:
För sessionsvärdar som är anslutna till služba Active Directory, med AD CS konfigurerade som intern företagscertifikatutfärdare, är betrodda som standard och lagras i namngivningskontexten för konfiguration för Doménové služby Active Directory. När AD CS är konfigurerat som en fristående certifikatutfärdare måste du konfigurera grupprincip för att distribuera rotcertifikaten och mellanliggande certifikat till sessionsvärdar. Mer information finns i Distribuera certifikat till Windows-enheter med hjälp av grupprincip.
För sessionsvärdar som är anslutna till Microsoft Entra ID kan du använda Microsoft Intune för att distribuera rotcertifikaten och mellanliggande certifikat till sessionsvärdar. Mer information finns i Betrodda rotcertifikatprofiler för Microsoft Intune.
För sessionsvärdar som använder Microsoft Entra hybridanslutning kan du använda någon av de föregående metoderna, beroende på dina krav.
Självsignerad: installera den betrodda roten i arkivet Betrodda rotcertifikatutfärdare på varje sessionsvärd. Vi rekommenderar inte att du distribuerar certifikatet med grupprincip eller Intune eftersom det endast bör användas för testning.
Viktigt
Du bör tidsstämpla ditt paket så att dess giltighet varar längre än certifikatets förfallodatum. När certifikatet upphör att gälla måste du annars uppdatera paketet med ett nytt giltigt certifikat och återigen se till att sessionsvärdarna litar på certifikatkedjan.
Nästa steg
Lär dig hur du lägger till och hanterar appkopplingsprogram i Azure Virtual Desktop.