Hoe migreert u RDS-rollen zoals Connection Broker en Web Access naar een nieuwe server?

Het koppelen van RDS-rollen tussen servers kan een behoorlijke klus zijn, vooral als u probeert over te stappen van een oude configuratie op Windows Server 2012 R2 naar een nieuwere op Windows Server 2019. Soms lijkt het alsof Windows niet is ontworpen om migraties soepel te laten verlopen; u moet veel handmatig werk verrichten en één verkeerde instelling kan de hele implementatie in de war schoppen. Deze handleiding zou u moeten helpen om die rommel te ontwarren en uw Remote Desktop-rollen daadwerkelijk te migreren zonder gefrustreerd te raken – maar let op, het is niet direct zo eenvoudig als het lijkt, dus verwacht wat gepruts.

Hoe los je problemen op met RDS-rolmigraties tussen servers?

Methode 1: RDS-instellingen exporteren en importeren met PowerShell

Deze methode houdt in dat je je bestaande RDS-configuratie exporteert en vervolgens importeert op de nieuwe server. Dit is handig als je dezelfde implementatie wilt behouden, maar deze naar een nieuwe host wilt verplaatsen. De reden dat dit werkt, is dat Windows zelf geen ingebouwde, supereenvoudige manier heeft om RDS-configuraties over te zetten. In plaats daarvan maak je gebruik van een PowerShell-module genaamd ExportImportRdsDeployment. Deze module werkt als een back-up en herstel voor je RDS-implementatie.

Allereerst hebt u PowerShell 5.1 of hoger nodig. Als u nog steeds Windows Server 2012 R2 gebruikt, is `Install-Module` waarschijnlijk niet standaard beschikbaar. Dat komt omdat Windows PowerShell 5.1 nog niet is geïnstalleerd, dus u moet de update KB3191564 downloaden van de Microsoft-website. Zodra die is geïnstalleerd, kunt u opdrachten uitvoeren zoals:

Install-Module ExportImportRdsDeployment -Force Import-Module ExportImportRdsDeployment 

Als PowerShell een foutmelding geeft dat `Install-Module` niet wordt herkend, komt dat waarschijnlijk doordat uw server niet is bijgewerkt. Zorg er ook voor dat uw PowerShell-sessie met beheerdersrechten wordt uitgevoerd.

Nadat de module is geïnstalleerd, kunt u uw huidige RDS-configuratie exporteren met:

Export-RDCollectionsFromConnectionBroker -ConnectionBroker localhost -XMLFile c:\ps\rdsoldcol.xml -Verbose Export-RDDeploymentFromConnectionBroker -ConnectionBroker localhost -XMLFile c:\ps\rdsdeployment.xml -Verbose 

Vergeet niet dat als u wildcardcertificaten gebruikt (zoals *.mydomain.com), u deze ook moet exporteren in PFX-formaat en de wachtwoorden veilig moet bewaren. Kopieer deze bestanden samen met uw XML-configuraties naar de nieuwe Windows Server 2019-machine.

Bij het importeren op de nieuwe server voert u commando’s uit zoals:

$RDGatewayCertPath = "C:\\PS\\nocert.pfx" $RDWebAccessCertPath = "C:\\PS\\nocert.pfx" $RDRedirectorCertPath = "C:\\PS\\nocert.pfx" $RDPublishingCertPath = "C:\\PS\\nocert.pfx" $RDGatewayCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force $RDWebAccessCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force $RDRedirectorCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force $RDPublishingCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force Import-RDDeploymentToConnectionBroker -ConnectionBroker localhost -XmlFile c:\ps\rdsdeployment.xml ` -RDGatewayCertPath $RDGatewayCertPath ` -RDGatewayCertPassword $RDGatewayCertPassword ` -RDWebAccessCertPath $RDWebAccessCertPath ` -RDWebAccessCertPassword $RDWebAccessCertPassword ` -RDRedirectorCertPath $RDRedirectorCertPath ` -RDRedirectorCertPassword $RDRedirectorCertPassword ` -RDPublishingCertPath $RDPublishingCertPath ` -RDPublishingCertPassword $RDPublishingCertPassword -Verbose 

Als u *geen* certificaten gebruikt, negeer dan die gedeeltes en voer de opdracht uit zonder de cert-parameters. Controleer daarna of de RD Connection Broker-rol op de nieuwe server verschijnt met:

Get-RDServer -Role "ConnectionBroker"

Als alles er goed uitziet, kunt u uw RDS-collecties importeren met:

Import-RDCollectionsToConnectionBroker -ConnectionBroker localhost -XmlFile "C:\PS\rdsoldcol.xml" -Verbose

Dit zou uw oude implementatie vrijwel exact moeten repliceren. Controleer daarna de RDS-beheerconsole om te bevestigen dat alle RemoteApps en collecties aanwezig zijn, en verwijder vervolgens de rol van de oude server met:

Remove-WindowsFeature RDS-Connection-Broker

Op deze manier kopieert u in feite alles van de ene server naar de andere. Let op IIS- of certificaatproblemen als de beschikbaarheid van RD Web Access er daarna vreemd uitziet. Soms zijn handmatige aanpassingen nodig als IIS-instellingen of certificaten niet perfect worden overgenomen. Als de URL is gewijzigd, moet u ook uw RD Web SSO-beleid dienovereenkomstig bijwerken.

Methode 2: Handmatige IIS- en webimplementatie voor RDS-webtoegang

Oké, als je de RD Web Access-rol verplaatst en de webinterface-instellingen niet overeenkomen, kan een handmatige import nodig zijn. Vooral als je overstapt naar een andere Windows Server-versie met verschillende IIS-versies. Op de bronserver kun je Microsoft Web Deploy v3.6 gebruiken om de IIS-site-instellingen te exporteren. Download het van de downloadpagina van Microsoft Web Deploy. Installeer het op beide servers: de bronserver en de doelserver.

Na de installatie kunt u een back-up maken van de Web Access-site met een opdracht zoals:

msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:archivedir=c:\ps\rdweb

Synchroniseer vervolgens op de doelservver deze instellingen met:

msdeploy -verb:sync -source:archivedir=c:\ps\rdweb -dest:appHostConfig="Default Web Site"

Eenvoudig, maar zorg ervoor dat uw IIS-configuraties compatibel zijn. Als u de URL of SSL-bindingen hebt gewijzigd, moet u deze achteraf handmatig bijwerken in IIS Manager. Controleer ook of uw aangepaste instellingen, zoals pagina’s voor wachtwoordwijziging of andere ingebedde configuraties, na de overdracht nog steeds werken.

Als uw RD Web Access een andere URL gebruikt, vergeet dan niet uw Single Sign-On-beleid of andere gerelateerde configuraties bij te werken. Dit is niet altijd even eenvoudig, maar het is de moeite waard voor een schone installatie.

Eerlijk gezegd verloopt het migreren van RDS-rollen niet helemaal vlekkeloos, maar met deze stappen is het zeker niet onmogelijk. Verwacht wat vallen en opstaan, vooral als er certificaten of IIS-instellingen bij betrokken zijn. Meestal helpen geduld en het maken van back-ups vooraf enorm.

Samenvatting

  • Gebruik PowerShell-modules om RDS-configuraties te exporteren/importeren.
  • Zorg ervoor dat uw PowerShell-versie up-to-date is.
  • Exporteer de webtoegangsinstellingen indien nodig met Web Deploy.
  • Controleer na de migratie de certificaten, URL’s en IIS-configuraties nogmaals.
  • Verwijder rollen van oude servers pas nadat is bevestigd dat alles correct werkt op de nieuwe host.

Samenvatting

Hopelijk biedt dit een redelijke route door de chaos van het migreren van RDS. Het is opzettelijk wat rommelig, maar deze methoden dekken in ieder geval de meeste scenario’s. Verwacht hier en daar wat handmatige aanpassingen te moeten doen – Windows biedt hier geen hulp bij. Het werkt voor mij – hopelijk werkt het ook voor jou.