Migrate automatically migrate from AzureAzure Sanal Masaüstü (classic)

Önemli

AzureAzure Sanal Masaüstü klasik 30 Eylül 2026'da kullanımdan kaldırılıyor. Kullanımdan kaldırıldıktan sonra klasik kaynaklara bağlantılar engellenecektir.

Kesintiyi önlemek için kalan klasik kaynakları 30 Eylül 2026'dan önce Azure Resource Manager tabanlı konak havuzlarına geçirin.

Geçiş modülü aracı, kuruluşunuzu AzureAzure Sanal Masaüstü (klasik) alanından AzureAzure Sanal Masaüstü'ne otomatik olarak geçirmenizi sağlar. Bu makalede aracın nasıl kullanılacağı gösterilir.

Önkoşullar

Geçiş modülünü kullanmadan önce, aşağıdakilerin hazır olduğundan emin olun:

  • Yeni Azure hizmet nesneleri oluşturacağınız bir Azure aboneliği.

  • Aboneliğinizde AzureAzure nesneleri oluşturmak için Katkıda Bulunan rolüne ve uygulama gruplarına kullanıcı atamak için Kullanıcı Erişimi Yöneticisi rolüne atanmış olmanız gerekir.

  • En azından bir RDS kiracısında veya geçirmekte olduğunuz belirli konak havuzlarında Uzak Masaüstü Hizmetleri (RDS) Katkıda Bulunan izinleri.

  • Microsoft.RdInfra.RDPowershell PowerShell modülünün en son sürümü.

  • Az.DesktopVirtualization PowerShell modülünün en son sürümü.

  • Az.Resources PowerShell modülünün en son sürümü.

  • Geçiş modülünü bilgisayarınıza yükleyin.

  • Bu makalede göreceğiniz betikleri çalıştırmak için PowerShell veya PowerShell ISE. Microsoft.RdInfra.RDPowershell modülü PowerShell Core'da çalışmaz.

Önemli

Geçiş yalnızca ABD coğrafyasında hizmet nesneleri oluşturur. Hizmet nesnelerinizi başka bir coğrafyaya geçirmeye çalışırsanız, bu çalışmaz. Ayrıca, Azure Sanal Masaüstü (klasik) dağıtımınızda 500'den fazla uygulama grubunuz varsa geçiş yapamazsınız. Yalnızca ortamınızı yeniden oluşturursanız ve Microsoft EntraMicrosoft Entra kiracınızdaki uygulama gruplarının sayısını azaltırsanız geçiş yapabilirsiniz.

PowerShell ortamınızı hazırlama

İlk olarak, PowerShell ortamınızı geçiş işlemi için hazırlamanız gerekir.

PowerShell ortamınızı hazırlamak için:

  1. Başlamadan önce, aşağıdaki cmdlet'leri çalıştırarak Az.Desktop Virtualization ve Az.Resources modüllerinin en son sürümüne sahip olduğunuzdan emin olun:

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

    Bunu yapmazsanız, şu cmdlet'leri çalıştırarak modülleri yüklemeniz ve içeri aktarmanız gerekir:

    Install-module Az.Resources
    Import-module Az.Resources
    Install-module Az.DesktopVirtualization
    Import-module Az.DesktopVirtualization
    
  2. Ardından, şu cmdlet'i çalıştırarak geçerli RDInfra PowerShell modülünü kaldırın:

    Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions
    
  3. Bundan sonra, RDPowershell modülünü şu cmdlet ile yükleyin:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Her şeyi yüklemeyi bitirdikten sonra, modüllerin doğru sürümlerine sahip olduğunuzdan emin olmak için şu cmdlet'i çalıştırın:

    Get-Module Microsoft.RDInfra.RDPowershell
    
  5. Şimdi, şu cmdlet'leri çalıştırarak geçiş modülünü yükleyelim ve içeri aktaralım:

    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. İşiniz bittiğinde, PowerShell pencerenizde Azure Sanal Masaüstü'nde (klasik) oturum açın:

    Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
    
  7. Azure Resource Manager'da oturum açın:

    Login-AzAccount
    
  8. Birden çok aboneliğiniz varsa, bu cmdlet ile kaynaklarınızı geçirmek istediğiniz aboneliği seçin:

    Select-AzSubscription -Subscriptionid <subID>
    
  9. Seçili abonelik için Kaynak Sağlayıcısı'nı Azure portalAzure portal'a kaydedin.

  10. Son olarak, sağlayıcıyı kaydetmeniz gerekecek. Bunu iki şekilde yapabilirsiniz:

    • PowerShell kullanmak istiyorsanız, şu cmdlet'i çalıştırın:

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Azure portal kullanmayı tercih ederseniz, Azure portal açın ve oturum açın, ardından Abonelikler'e gidin ve kullanmak istediğiniz aboneliğin adını seçin. Bundan sonra, Kaynak Sağlayıcısı>Microsoft.DesktopVirtualization'a gidin ve Yeniden Kaydol'u seçin. Kullanıcı arabiriminde henüz herhangi bir değişiklik görmezsiniz, ancak PowerShell ortamınız artık modülü çalıştırmaya hazır olmalıdır.

Azure Sanal Masaüstü (klasik) kaynaklarını Azure Resource Manager'a geçirme

PowerShell ortamınız hazır olduğuna göre artık geçiş işlemine başlayabilirsiniz.

Azure sanal Masaüstü (klasik) kaynaklarınızı Azure Resource Manager'a geçirmek için:

  1. Geçiş yapmadan önce, mevcut Klasik kaynakların yeni Azure Resource Manager kaynaklarla nasıl eşleneceğini anlamak istiyorsanız şu cmdlet'i çalıştırın:

    Get-RdsHostPoolMigrationMapping
    

    Get-RdsHostPoolMigrationMapping ile kaynaklarınızın nereye gideceğini eşleyen bir CSV dosyası oluşturabilirsiniz. Örneğin, kiracınızın adı "Contoso" ise ve eşleme dosyanızı "contosouser" dosyasında depolamak istiyorsanız, aşağıdakine benzer bir cmdlet çalıştırırsınız:

    Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'
    
  2. Ardından, tek bir konak havuzunun mu yoksa bir kiracı içindeki tüm konak havuzlarının mı geçirileceğini seçmek için Start-RdsHostPoolMigration cmdlet'ini çalıştırın.

    Örneğin:

    Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS
    

    Kaynaklarınızı belirli bir konak havuzuna geçirmek istiyorsanız, konak havuzu adını ekleyin. Örneğin, "Office" adlı konak havuzunu taşımak istiyorsanız, şuna benzer bir komut çalıştırın:

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

    Çalışma alanı adı vermezseniz, modül kiracı adına göre sizin için otomatik olarak bir çalışma alanı oluşturur. Ancak, belirli bir çalışma alanını kullanmayı tercih ederseniz, kaynak kimliğini şu şekilde girebilirsiniz:

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

    Belirli bir çalışma alanını kullanmak istiyorsanız ancak kaynak kimliğini bilmiyorsanız, şu cmdlet'i çalıştırın:

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

    Ayrıca mevcut kullanıcı atamaları için bir kullanıcı atama modu belirtmeniz gerekir:

    • Tüm kullanıcı atamalarını eski uygulama gruplarınızdan Azure Resource Manager uygulama gruplarına kopyalamak için Kopyala'yı kullanın. Kullanıcılar, istemcilerinin her iki sürümü için de akışları görebilir.
    • Kullanıcı atamalarını değiştirmek istemiyorsanız Yok'u kullanın. Daha sonra kullanıcıları veya kullanıcı gruplarını Azure portalAzure portal, PowerShell veya API ile uygulama gruplarına atayabilirsiniz. Kullanıcılar yalnızca AzureAzure Sanal Masaüstü (klasik) istemcilerini kullanarak akışları görebilir.

    Abonelik başına yalnızca 2.000 kullanıcı ataması kopyalayabilirsiniz, bu nedenle sınırınız aboneliğinizde kaç atama olduğuna bağlıdır. Modül, sahip olduğunuz ödev sayısına göre sınırı hesaplar. Kopyalamak için yeterli atamanız yoksa, "Kullanıcı atamalarını kopyalamak için yetersiz rol ataması kotası. Geçiş için -CopyUserAssignments anahtarı olmadan komutu yeniden çalıştır."

  3. Komutları çalıştırdıktan sonra, modülün hizmet nesnelerini oluşturması 15 dakika kadar sürer. Herhangi bir kullanıcı atamasını kopyaladıysanız veya taşıdıysanız bu, modülün her şeyi ayarlamayı bitirmesi için geçen süreyi uzatır.

    Start-RdsHostPoolMigration cmdlet'i tamamlandıktan sonra aşağıdakileri görmelisiniz:

    • AzureAzure service objects for the tenant or host pool for the specified your specified.

    • İki yeni kaynak grubu:

      • Çalışma alanınızı içeren "Tenantname" adlı bir kaynak grubu.

      • Konak havuzu ve masaüstü uygulama gruplarını içeren "Tenantname_originalHostPoolName" adlı bir kaynak grubu.

    • Yeni oluşturulan uygulama gruplarına yayımladığınız tüm kullanıcılar.

    • Sanal makineler, geçiş işlemi sırasında kullanıcının kapalı kalma süresini önlemek için hem mevcut hem de yeni konak havuzlarında kullanılabilir olacaktır. Bu, kullanıcıların aynı kullanıcı oturumuna bağlanmasına olanak tanır.

    Bu yeni Azure hizmeti nesneleri Azure Resource Manager nesneler olduğundan, modül bunlarda Rol Tabanlı Access Control (RBAC) izinlerini veya tanılama ayarlarını ayarlayamaz. Bu nedenle, bu nesneler için RBAC izinlerini ve ayarlarını el ile güncelleştirmeniz gerekir.

    Modül ilk kullanıcı bağlantılarını doğruladıktan sonra, isterseniz uygulama grubunu daha fazla kullanıcıya veya kullanıcı grubuna da yayımlayabilirsiniz.

    Not

    Geçişten sonra, kullanıcılara izinler atadıktan sonra uygulama gruplarını farklı bir kaynak grubuna taşırsanız, tüm RBAC rollerini kaldırır. Kullanıcılara RBAC izinlerini baştan yeniden atamanız gerekir.

  4. Tüm AzureAzure Sanal Masaüstü (klasik) hizmet nesnelerini silmek istiyorsanız, geçiş işlemini tamamlamak için Complete-RdsHostPoolMigration komutunu çalıştırın. Bu cmdlet, tüm AzureAzure Sanal Masaüstü (klasik) nesnelerini siler ve yalnızca yeni AzureAzure nesnelerini bırakır. Kullanıcılar, istemcilerinde yalnızca yeni oluşturulan uygulama gruplarının akışını görebilir. Bu komut tamamlandıktan sonra, işlemi tamamlamak için AzureAzure Sanal Masaüstü (klasik) kiracısını güvenle silebilirsiniz.

    Örneğin:

    Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Belirli bir konak havuzunu tamamlamak istiyorsanız, konak havuzu adını cmdlet'e ekleyebilirsiniz. Örneğin, "Office" adlı bir konak havuzunu tamamlamak istiyorsanız şuna benzer bir komut kullanırsınız:

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

    Bu, AzureAzure Sanal Masaüstü (klasik) tarafından oluşturulan tüm hizmet nesnelerini siler. Size yalnızca yeni AzureAzure nesneleri kalacak ve kullanıcılar istemcilerinde yalnızca yeni oluşturulan uygulama gruplarının akışını görebilecekler. Geçişinizi sonlandırmayı tamamladıktan sonra, AzureAzure Sanal Masaüstü (klasik) bölümündeki kiracıyı açıkça silmeniz gerekir.

  5. Geçiş hakkında fikrinizi değiştirdiyseniz ve işlemi geri döndürmek istiyorsanız, Revert-RdsHostPoolMigration cmdlet'ini çalıştırın.

    Örneğin:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Belirli bir konak havuzunu geri döndürmek isterseniz, komuta konak havuzu adını ekleyebilirsiniz. Örneğin, "Office" adlı bir konak havuzunu geri döndürmek istiyorsanız şuna benzer bir şey girersiniz:

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

    Bu cmdlet, yeni oluşturulan tüm AzureAzure hizmet nesnelerini siler. Kullanıcılarınız istemcilerinde yalnızca Azure Sanal Masaüstü (klasik) nesnelerinin akışını görür.

    Ancak cmdlet, modülün oluşturduğu çalışma alanını veya ilişkili kaynak grubunu silmez. Bu öğelerden kurtulmak için bunları el ile silmeniz gerekir.

  6. TAzureAzure Sanal Masaüstü (klasik) hizmeti nesnelerinizi henüz silmek istemiyor ancak geçişi test etmek istiyorsanız, Set-RdsHostPoolHidden çalıştırabilirsiniz.

    Örneğin:

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

    Durumu "true" olarak ayarlamak, AzureAzure Sanal Masaüstü (klasik) kaynaklarını gizler. Bunu "false" olarak ayarlamak, kaynakları kullanıcılarınıza gösterecektir.

    -Hostpool parametresi isteğe bağlıdır. Gizlemek istediğiniz belirli bir Azure Sanal Masaüstü (klasik) konak havuzu varsa bu parametreyi kullanabilirsiniz.

    Bu cmdlet, Azure Sanal Masaüstü (klasik) kullanıcı akışı ve hizmet nesnelerini silmek yerine gizler. Bununla birlikte, bu genellikle yalnızca test için kullanılır ve tamamlanmış bir geçiş olarak sayılmaz. Geçişinizi tamamlamak için Complete-RdsHostPoolMigration komutunu çalıştırmanız gerekir. Aksi takdirde, Revert-RdsHostPoolMigration komutunu çalıştırarak dağıtımınızı geri döndürün.

Otomatik geçiş sorunlarını giderme

Bu bölümde, geçiş modülünde sık karşılaşılan sorunların nasıl çözüleceği açıklanır.

Kiracıya erişemiyorum

Öncelikle şu iki şeyi deneyin:

  • Yönetici hesabınızın kiracıya erişmek için gerekli izinlere sahip olduğundan emin olun.
  • Kiracıda Get-RdsTenant'ı çalıştırmayı deneyin.

Bu iki seçenek işe yararsa, geçişinizde kullanılacak RDS Bağlamını ve ADAL Bağlamını ayarlamak için Set-RdsMigrationContext cmdlet'ini çalıştırmayı deneyin:

  1. Add-RdsAccount cmdlet'ini çalıştırarak RDS Bağlamı oluşturun.

  2. RDS Bağlamını $rdMgmtContext global değişkeninde bulun.

  3. Genel değişken $AdalContext ADAL Bağlamını bulun.

  4. Set-RdsMigrationContext'i bu biçimde bulduğunuz değişkenlerle çalıştırın:

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

Sonraki adımlar

Bunun yerine dağıtımınızı el ile geçirmeyi öğrenmek istiyorsanız, bkz. Azure Sanal Masaüstü'nden (klasik) el ile geçirme.

Geçiş yaptıktan sonra, öğreticilerimize göz atarak Sanal Masaüstü Azure nün nasıl çalıştığını öğrenin. Mevcut konak havuzunu genişletme ve RDP özelliklerini özelleştirme bölümlerinde gelişmiş yönetim özellikleri hakkında bilgi edinin.

Hizmet nesneleri hakkında daha fazla bilgi edinmek için Sanal Masaüstü ortamını Azure göz atın.