Freigeben über


Automatische Migration von Azure Virtual Desktop (klassisch)

Mit dem Migrationsmodultool können Sie Ihre organization automatisch von Azure Virtual Desktop (klassisch) zu Azure Virtual Desktop migrieren. In diesem Artikel erfahren Sie, wie Sie das Tool verwenden.

Voraussetzungen

Bevor Sie das Migrationsmodul verwenden, stellen Sie sicher, dass Folgendes bereit ist:

  • Ein Azure-Abonnement, in dem Sie neue Azure-Dienstobjekte erstellen.

  • Ihnen muss die Rolle Mitwirkender zugewiesen sein, um Azure-Objekte in Ihrem Abonnement zu erstellen, und die Rolle Benutzerzugriffsadministrator, um Benutzer zu Anwendungsgruppen zuzuweisen.

  • Mindestens Berechtigungen mit RdS-Mitwirkender (Remotedesktopdienste) für einen RDS-Mandanten oder die spezifischen Hostpools, die Sie migrieren.

  • Die neueste Version des PowerShell-Moduls Microsoft.RdInfra.RDPowershell.

  • Die neueste Version des PowerShell-Moduls Az.DesktopVirtualization.

  • Die neueste Version des PowerShell-Moduls Az.Resources.

  • Installieren Sie das Migrationsmodul auf Ihrem Computer.

  • PowerShell oder PowerShell ISE zum Ausführen der Skripts, die In diesem Artikel angezeigt werden. Das Microsoft.RdInfra.RDPowershell-Modul funktioniert in PowerShell Core nicht.

Wichtig

Bei der Migration werden nur Dienstobjekte in der geografierten Region "USA" erstellt. Wenn Sie versuchen, Ihre Dienstobjekte in eine andere Geografie zu migrieren, funktioniert dies nicht. Wenn Sie mehr als 500 Anwendungsgruppen in Ihrer Bereitstellung von Azure Virtual Desktop (klassisch) haben, können Sie außerdem nicht migrieren. Sie können nur migrieren, wenn Sie Ihre Umgebung neu erstellen, um die Anzahl der Anwendungsgruppen in Ihrem Microsoft Entra Mandanten zu reduzieren.

Vorbereiten Ihrer PowerShell-Umgebung

Zunächst müssen Sie Ihre PowerShell-Umgebung für den Migrationsprozess vorbereiten.

So bereiten Sie Ihre PowerShell-Umgebung vor:

  1. Bevor Sie beginnen, stellen Sie sicher, dass Sie über die neueste Version der Module Az.Desktop Virtualization und Az.Resources verfügen, indem Sie die folgenden Cmdlets ausführen:

    Get-Module Az.Resources
    Get-Module Az.DesktopVirtualization
    https://www.powershellgallery.com/packages/Az.DesktopVirtualization/
    https://www.powershellgallery.com/packages/Az.Resources/
    

    Andernfalls müssen Sie die Module installieren und importieren, indem Sie die folgenden Cmdlets ausführen:

    Install-module Az.Resources
    Import-module Az.Resources
    Install-module Az.DesktopVirtualization
    Import-module Az.DesktopVirtualization
    
  2. Deinstallieren Sie als Nächstes das aktuelle RDInfra PowerShell-Modul, indem Sie dieses Cmdlet ausführen:

    Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions
    
  3. Installieren Sie anschließend das RDPowershell-Modul mit diesem Cmdlet:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Nachdem Sie alles installiert haben, führen Sie dieses Cmdlet aus, um sicherzustellen, dass Sie über die richtigen Versionen der Module verfügen:

    Get-Module Microsoft.RDInfra.RDPowershell
    
  5. Installieren und importieren Sie nun das Migrationsmodul, indem Sie die folgenden Cmdlets ausführen:

    Install-Module -Name PackageManagement -Repository PSGallery -Force
    Install-Module -Name PowerShellGet -Repository PSGallery -Force
    # Then restart shell
    Install-Module -Name Microsoft.RdInfra.RDPowershell.Migration -AllowClobber
    Import-Module <Full path to the location of the migration module>\Microsoft.RdInfra.RDPowershell.Migration.psd1
    
  6. Wenn Sie fertig sind, melden Sie sich in Ihrem PowerShell-Fenster bei Azure Virtual Desktop (klassisch) an:

    Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
    
  7. Melden Sie sich bei Azure Resource Manager an:

    Login-AzAccount
    
  8. Wenn Sie über mehrere Abonnements verfügen, wählen Sie mit diesem Cmdlet das Abonnement aus, zu dem Sie Ihre Ressourcen migrieren möchten:

    Select-AzSubscription -Subscriptionid <subID>
    
  9. Registrieren Sie den Ressourcenanbieter in Azure-Portal für das ausgewählte Abonnement.

  10. Schließlich müssen Sie den Anbieter registrieren. Hierfür stehen Ihnen zwei Möglichkeiten zur Verfügung:

    • Wenn Sie PowerShell verwenden möchten, führen Sie dieses Cmdlet aus:

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Wenn Sie lieber die Azure-Portal verwenden möchten, öffnen Sie das Azure-Portal, und melden Sie sich bei der Azure-Portal an. Wechseln Sie zu Abonnements, und wählen Sie den Namen des Abonnements aus, das Sie verwenden möchten. Wechseln Sie anschließend zu Ressourcenanbieter>Microsoft.DesktopVirtualization , und wählen Sie Erneut registrieren aus. Es wird noch keine Änderung an der Benutzeroberfläche angezeigt, aber Ihre PowerShell-Umgebung sollte jetzt bereit sein, das Modul auszuführen.

Migrieren von Azure Virtual Desktop-Ressourcen (klassisch) zu Azure Resource Manager

Nachdem Ihre PowerShell-Umgebung bereit ist, können Sie mit dem Migrationsprozess beginnen.

So migrieren Sie Ihre Azure Virtual Desktop-Ressourcen (klassisch) zu Azure Resource Manager

  1. Führen Sie vor der Migration dieses Cmdlet aus, wenn Sie wissen möchten, wie die vorhandenen klassischen Ressourcen neuen Azure Resource Manager-Ressourcen zugeordnet werden:

    Get-RdsHostPoolMigrationMapping
    

    Mit Get-RdsHostPoolMigrationMapping können Sie eine CSV-Datei erstellen, die dem Speicherort Ihrer Ressourcen zugeordnet ist. Wenn der Name Ihres Mandanten beispielsweise "Contoso" lautet und Sie Ihre Zuordnungsdatei in der Datei "contosouser" speichern möchten, führen Sie ein Cmdlet aus, das wie folgt aussieht:

    Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'
    
  2. Führen Sie als Nächstes das Cmdlet Start-RdsHostPoolMigration aus, um auszuwählen, ob ein einzelner Hostpool oder alle Hostpools innerhalb eines Mandanten migriert werden sollen.

    Zum Beispiel:

    Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS
    

    Wenn Sie Ihre Ressourcen in einen bestimmten Hostpool migrieren möchten, geben Sie den Namen des Hostpools an. Wenn Sie beispielsweise den Hostpool mit dem Namen "Office" verschieben möchten, führen Sie einen Befehl wie den folgenden aus:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments $false -Location EastUS
    

    Wenn Sie keinen Arbeitsbereichsnamen geben, erstellt das Modul basierend auf dem Mandantennamen automatisch einen für Sie. Wenn Sie jedoch lieber einen bestimmten Arbeitsbereich verwenden möchten, können Sie dessen Ressourcen-ID wie folgt eingeben:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments -Location EastUS -Workspace <Resource ID of workspacename>
    

    Wenn Sie einen bestimmten Arbeitsbereich verwenden möchten, dessen Ressourcen-ID aber nicht kennen, führen Sie dieses Cmdlet aus:

    Get-AzWvdWorkspace -WorkspaceName <workspace> -ResourceGroupName <resource group> |fl
    

    Sie müssen auch einen Benutzerzuweisungsmodus für die vorhandenen Benutzerzuweisungen angeben:

    • Verwenden Sie Kopieren, um alle Benutzerzuweisungen aus Ihren alten Anwendungsgruppen in Azure Resource Manager-Anwendungsgruppen zu kopieren. Benutzer können Feeds für beide Versionen ihrer Clients anzeigen.
    • Verwenden Sie Keine , wenn Sie die Benutzerzuweisungen nicht ändern möchten. Später können Sie Mit dem Azure-Portal, PowerShell oder der API Anwendungsgruppen Benutzer oder Benutzergruppen zuweisen. Benutzer können Feeds nur mit den (klassischen) Azure Virtual Desktop-Clients anzeigen.

    Sie können nur 2.000 Benutzerzuweisungen pro Abonnement kopieren, sodass Ihr Grenzwert davon abhängt, wie viele Zuweisungen bereits in Ihrem Abonnement vorhanden sind. Das Modul berechnet den Grenzwert basierend darauf, wie viele Zuweisungen Sie bereits haben. Wenn Sie nicht über genügend Zuweisungen zum Kopieren verfügen, erhalten Sie die Fehlermeldung "Unzureichendes Rollenzuweisungskontingent zum Kopieren von Benutzerzuweisungen. Führen Sie den Befehl erneut aus, ohne den Schalter -CopyUserAssignments zu migrieren."

  3. Nachdem Sie die Befehle ausgeführt haben, dauert es bis zu 15 Minuten, bis das Modul die Dienstobjekte erstellt hat. Wenn Sie Benutzerzuweisungen kopiert oder verschoben haben, führt dies zu der Zeit, die benötigt wird, bis das Modul alles eingerichtet hat.

    Nachdem das Cmdlet Start-RdsHostPoolMigration abgeschlossen ist, sollten Folgende Informationen angezeigt werden:

    • Azure-Dienstobjekte für den von Ihnen angegebenen Mandanten oder Hostpool.

    • Zwei neue Ressourcengruppen:

      • Eine Ressourcengruppe namens "Tenantname", die Ihren Arbeitsbereich enthält.

      • Eine Ressourcengruppe mit dem Namen "Tenantname_originalHostPoolName", die den Hostpool und die Desktopanwendungsgruppen enthält.

    • Alle Benutzer, die Sie in den neu erstellten Anwendungsgruppen veröffentlicht haben.

    • Virtuelle Computer sind sowohl in vorhandenen als auch in neuen Hostpools verfügbar, um Benutzerausfallzeiten während des Migrationsprozesses zu vermeiden. Auf diese Weise können Benutzer eine Verbindung mit derselben Benutzersitzung herstellen.

    Da es sich bei diesen neuen Azure-Dienstobjekten um Azure Resource Manager-Objekte handelt, kann das Modul keine RBAC-Berechtigungen (Role-based Access Control) oder Diagnoseeinstellungen festlegen. Daher müssen Sie die RBAC-Berechtigungen und -Einstellungen für diese Objekte manuell aktualisieren.

    Nachdem das Modul die anfänglichen Benutzerverbindungen überprüft hat, können Sie die Anwendungsgruppe bei Bedarf auch für weitere Benutzer oder Benutzergruppen veröffentlichen.

    Hinweis

    Wenn Sie nach der Migration Anwendungsgruppen in eine andere Ressourcengruppe verschieben, nachdem Sie Benutzern Berechtigungen zugewiesen haben, werden alle RBAC-Rollen entfernt. Sie müssen Benutzern RBAC-Berechtigungen erneut zuweisen.

  4. Wenn Sie alle (klassischen) Azure Virtual Desktop-Dienstobjekte löschen möchten, führen Sie Complete-RdsHostPoolMigration aus, um den Migrationsprozess abzuschließen. Dieses Cmdlet löscht alle (klassischen) Azure Virtual Desktop-Objekte, wobei nur die neuen Azure-Objekte verbleiben. Benutzern wird nur der Feed für die neu erstellten Anwendungsgruppen auf ihren Clients angezeigt. Nachdem dieser Befehl ausgeführt wurde, können Sie den (klassischen) Azure Virtual Desktop-Mandanten sicher löschen, um den Vorgang abzuschließen.

    Zum Beispiel:

    Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Wenn Sie einen bestimmten Hostpool abschließen möchten, können Sie den Hostpoolnamen in das Cmdlet einschließen. Wenn Sie beispielsweise einen Hostpool mit dem Namen "Office" abschließen möchten, verwenden Sie einen Befehl wie den folgenden:

    Complete-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Dadurch werden alle Dienstobjekte gelöscht, die von Azure Virtual Desktop (klassisch) erstellt wurden. Sie erhalten nur die neuen Azure-Objekte, und Benutzer können nur den Feed für die neu erstellten Anwendungsgruppen auf ihren Clients sehen. Nachdem Sie die Migration abgeschlossen haben, müssen Sie den Mandanten in Azure Virtual Desktop (klassisch) explizit löschen.

  5. Wenn Sie Ihre Meinung zur Migration geändert haben und den Prozess rückgängig machen möchten, führen Sie das Cmdlet Revert-RdsHostPoolMigration aus.

    Zum Beispiel:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Wenn Sie einen bestimmten Hostpool rückgängig machen möchten, können Sie den Namen des Hostpools in den Befehl einschließen. Wenn Sie beispielsweise einen Hostpool mit dem Namen "Office" rückgängig machen möchten, geben Sie folgendes ein:

    Revert-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Dieses Cmdlet löscht alle neu erstellten Azure-Dienstobjekte. Ihren Benutzern wird nur der Feed für Azure Virtual Desktop-Objekte (klassisch) in ihren Clients angezeigt.

    Das Cmdlet löscht jedoch nicht den Arbeitsbereich, den das Modul erstellt hat, oder die zugehörige Ressourcengruppe. Sie müssen diese Elemente manuell löschen, um sie zu entfernen.

  6. Wenn Sie Ihre (klassischen) Azure Virtual Desktop-Dienstobjekte noch nicht löschen möchten, aber die Migration testen möchten, können Sie Set-RdsHostPoolHidden ausführen.

    Zum Beispiel:

    Set-RdsHostPoolHidden -Tenant Contoso -Hostpool Office -Hidden $true -Location WestUS
    

    Wenn Sie die status auf "true" festlegen, werden die Azure Virtual Desktop-Ressourcen (klassisch) ausgeblendet. Wenn Sie sie auf "false" festlegen, werden die Ressourcen für Ihre Benutzer angezeigt.

    Der Parameter -Hostpool ist optional. Sie können diesen Parameter verwenden, wenn es einen bestimmten Azure Virtual Desktop-Hostpool (klassisch) gibt, den Sie ausblenden möchten.

    Dieses Cmdlet blendet den Benutzerfeed und die Dienstobjekte von Azure Virtual Desktop (klassisch) aus, anstatt sie zu löschen. Dies wird jedoch in der Regel nur für Tests verwendet und zählt nicht als abgeschlossene Migration. Um die Migration abzuschließen, müssen Sie den Befehl Complete-RdsHostPoolMigration ausführen. Andernfalls rückgängig machen Sie Ihre Bereitstellung, indem Sie Revert-RdsHostPoolMigration ausführen.

Problembehandlung bei der automatischen Migration

In diesem Abschnitt wird erläutert, wie Sie häufig auftretende Probleme im Migrationsmodul beheben.

Ich kann nicht auf den Mandanten zugreifen

Probieren Sie zunächst die folgenden beiden Dinge aus:

  • Stellen Sie sicher, dass Ihr Administratorkonto über die erforderlichen Berechtigungen für den Zugriff auf den Mandanten verfügt.
  • Versuchen Sie, Get-RdsTenant auf dem Mandanten auszuführen.

Wenn diese beiden Dinge funktionieren, versuchen Sie, das Cmdlet Set-RdsMigrationContext auszuführen, um den RDS-Kontext und den ADAL-Kontext für Ihre Migration festzulegen:

  1. Erstellen Sie den RDS-Kontext, indem Sie das Cmdlet Add-RdsAccount ausführen.

  2. Suchen Sie den RDS-Kontext in der globalen Variablen $rdMgmtContext.

  3. Suchen Sie den ADAL-Kontext in der globalen Variablen $AdalContext.

  4. Führen Sie Set-RdsMigrationContext mit den Variablen aus, die Sie in diesem Format gefunden haben:

    Set-RdsMigrationContext -RdsContext <rdscontext> -AdalContext <adalcontext>
    

Nächste Schritte

Wenn Sie erfahren möchten, wie Sie Ihre Bereitstellung stattdessen manuell migrieren, finden Sie weitere Informationen unter Manuelles Migrieren von Azure Virtual Desktop (klassisch).

Nachdem Sie migriert haben, erfahren Sie in unseren Tutorials, wie Azure Virtual Desktop funktioniert. Informationen zu erweiterten Verwaltungsfunktionen finden Sie unter Erweitern eines vorhandenen Hostpools und Anpassen von RDP-Eigenschaften.

Weitere Informationen zu Dienstobjekten finden Sie unter Azure Virtual Desktop-Umgebung.