Azure Sanal Masaüstü'nden otomatik olarak geçirme (klasik)

Geçiş modülü aracı, kuruluşunuzu Azure Sanal Masaüstü’nden (klasik) Azure Sanal Masaüstü’ne otomatik olarak geçirmenizi sağlar. Bu makalede aracın nasıl kullanılacağı gösterilmektedir.

Ö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 Azure nesneleri oluşturmak için Katkıda Bulunan rolüne ve uygulama gruplarına kullanıcı atamak için Kullanıcı Erişimi Yönetici istrator rolüne sahip olmanız gerekir.

  • Bir RDS kiracısı veya geçirmekte olduğunuz belirli konak havuzlarında en azından 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 işe yaramaz. 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 Microsoft Entra kiracınızdaki uygulama gruplarının sayısını azaltmak için ortamınızı yeniden derlerseniz geçiş gerçekleştirebilirsiniz.

PowerShell ortamınızı hazırlama

İlk olarak, Geçiş işlemi için PowerShell ortamınızı 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 Sanallaştırma 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/
    

    Aksi takdirde ş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 şu cmdlet ile RDPowershell modülünü yükleyin:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Her şeyi yüklemeyi tamamladıktan sonra modüllerin doğru sürümlerine sahip olduğunuzdan emin olmak için bu 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ükleyip 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çilen abonelik için Azure portalında Kaynak Sağlayıcısı'nı kaydedin.

  10. Son olarak sağlayıcıyı kaydetmeniz gerekir. Bunu yapmanın iki yolu vardır:

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

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Azure portalını kullanmayı tercih ediyorsanız, Azure portalını açıp oturum açın, ardından Abonelikler'e gidin ve kullanmak istediğiniz aboneliğin adını seçin. Bundan sonra Microsoft.DesktopVirtualization Kaynak Sağlayıcısı'na >gidin ve Yeniden kaydet'i seçin. Kullanıcı arabiriminde henüz hiç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

Artık PowerShell ortamınız hazır olduğuna göre 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ş öncesinde mevcut Klasik kaynakların yeni Azure Resource Manager kaynaklarına 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, şuna 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 Start-RdsHostPoolMigration cmdlet'ini çalıştırarak tek bir konak havuzunun mu yoksa kiracı içindeki tüm konak havuzlarının mı geçirileceğini seçin.

    Ö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 aşağıdaki gibi 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 ad 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:

    • Eski uygulama gruplarınızdaki tüm kullanıcı atamalarını 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 Hiçbiri'ni kullanın. Daha sonra Azure portalı, PowerShell veya API ile uygulama gruplarına kullanıcı veya kullanıcı grupları atayabilirsiniz. Kullanıcılar yalnızca Azure 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 zaten kaç atama olduğuna bağlıdır. Modül, zaten kaç atamanız olduğunu temel alarak sınırı hesaplar. Kopyalamak için yeterli atamanız yoksa, "Kullanıcı atamalarını kopyalamak için rol ataması kotası yetersiz. -CopyUserAssignments geçişi olmadan komutu yeniden çalıştırın."

  3. Komutları çalıştırdıktan sonra modülün hizmet nesnelerini oluşturması 15 dakika kadar sürer. Kullanıcı atamalarını kopyaladıysanız veya taşıdıysanız bu, modülün her şeyi ayarlamayı tamamlaması için gereken süreyi ekler.

    Start-RdsHostPoolMigration cmdlet'i tamamlandıktan sonra aşağıdaki öğeleri görmeniz gerekir:

    • Belirttiğiniz kiracı veya konak havuzu için Azure hizmet nesneleri.

    • İki yeni kaynak grubu:

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

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

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

    • Geçiş işlemi sırasında kullanıcının kapalı kalma süresini önlemek için sanal makineler hem mevcut hem de yeni konak havuzlarında kullanılabilir. Bu, kullanıcıların aynı kullanıcı oturumuna bağlanmasını sağlar.

    Bu yeni Azure hizmet nesneleri Azure Resource Manager nesneleri olduğundan modül, rol tabanlı erişim denetimi (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ş sonrasında, kullanıcılara izinler atadıktan sonra uygulama gruplarını farklı bir kaynak grubuna taşırsanız, tüm RBAC rolleri kaldırılır. Kullanıcıların RBAC izinlerini yeniden atamanız gerekir.

  4. Tüm Azure 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 Azure Sanal Masaüstü (klasik) nesnelerini silip yalnızca yeni Azure nesnelerini bırakır. Kullanıcılar yalnızca istemcilerinde yeni oluşturulan uygulama gruplarının akışını görebilir. Bu komut tamamlandıktan sonra, işlemi tamamlamak için Azure 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, cmdlet'ine konak havuzu adını ekleyebilirsiniz. Örneğin, "Office" adlı bir konak havuzunu tamamlamak istiyorsanız aşağıdaki gibi bir komut kullanırsınız:

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

    Bu işlem, Azure Sanal Masaüstü (klasik) tarafından oluşturulan tüm hizmet nesnelerini siler. Yalnızca yeni Azure nesneleriyle kalırsınız ve kullanıcılar yalnızca istemcilerinde yeni oluşturulan uygulama gruplarının akışını görebilir. Geçişinizi tamamladıktan sonra Azure Sanal Masaüstü'nde (klasik) kiracıyı açıkça silmeniz gerekir.

  5. Geçiş konusundaki fikrinizi değiştirdiyseniz ve işlemi geri almak istiyorsanız Revert-RdsHostPoolMigration cmdlet'ini çalıştırın.

    Örneğin:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Belirli bir konak havuzunu geri almak isterseniz, komuta konak havuzu adını ekleyebilirsiniz. Örneğin, "Office" adlı bir konak havuzunu geri almak istiyorsanız, aşağıdakine benzer bir şey girersiniz:

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

    Bu cmdlet, yeni oluşturulan tüm Azure hizmet nesnelerini siler. Kullanıcılarınız yalnızca istemcilerindeki 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 bu öğeleri el ile silmeniz gerekir.

  6. Azure Sanal Masaüstü (klasik) hizmet nesnelerinizi henüz silmek istemiyorsanız ancak geçişi test etmek istiyorsanız Set-RdsHostPoolHidden komutunu çalıştırabilirsiniz.

    Örneğin:

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

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

    -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ışını ve hizmet nesnelerini silmek yerine gizler. Ancak bu genellikle yalnızca test için kullanılır ve tamamlanmış 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 alı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üldüğü açıklanır.

Kiracıya erişemiyorum

İlk olarak ş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 şey işe yaradıysa, geçişiniz için RDS Bağlamı ve ADAL Bağlamı ayarlamak için Set-RdsMigrationContext cmdlet'ini çalıştırmayı deneyin:

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

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

  3. $AdalContext genel değişkeninde ADAL Bağlamı'nı bulun.

  4. Set-RdsMigrationContext komutunu şu 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 isterseniz bkz . Azure Sanal Masaüstü'nden el ile geçiş (klasik).

Geçiş yaptıktan sonra öğreticilerimizi inceleyerek Azure Sanal Masaüstü'nü nasıl çalıştığını öğrenin. Mevcut bir konak havuzunu genişletme ve RDP özelliklerini özelleştirme sayfasında gelişmiş yönetim özellikleri hakkında bilgi edinin.

Hizmet nesneleri hakkında daha fazla bilgi edinmek için Bkz . Azure Sanal Masaüstü ortamı.