Share via


Verbinding met extern bureaublad inschakelen voor een rol in Azure Cloud Services (klassiek) met Visual Studio

Belangrijk

Cloud Services (klassiek) is vanaf 1 september 2024 afgeschaft voor alle klanten. Bestaande actieve implementaties worden gestopt en afgesloten door Microsoft en de gegevens gaan vanaf oktober 2024 permanant verloren. Nieuwe implementaties moeten gebruikmaken van het nieuwe op Azure Resource Manager gebaseerde implementatiemodel Azure Cloud Services (uitgebreide ondersteuning).

Met Extern bureaublad hebt u toegang tot het bureaublad van een rol die wordt uitgevoerd in Azure, met behulp van Remote Desktop Protocol (RDP). U kunt een verbinding met extern bureaublad gebruiken om problemen met uw toepassing op te lossen en te diagnosticeren terwijl deze wordt uitgevoerd.

De publicatiewizard die Visual Studio biedt voor cloudservices bevat een optie om Extern bureaublad in te schakelen tijdens het publicatieproces, met behulp van referenties die u opgeeft. Het gebruik van deze optie is geschikt bij het gebruik van Visual Studio 2017 versie 15.4 en eerder.

Met Visual Studio 2017 versie 15.5 en hoger raden we u aan extern bureaublad in te schakelen via de publicatiewizard, tenzij u als één ontwikkelaar werkt. Voor elke situatie waarin meerdere ontwikkelaars het project openen, moet u in plaats daarvan Extern bureaublad inschakelen via Azure Portal, via PowerShell of vanuit een release-pijplijn in een werkstroom voor continue implementatie. Deze aanbeveling wordt veroorzaakt door een wijziging in de wijze waarop Visual Studio communiceert met Extern bureaublad op de virtuele machine (VM) van de cloudservice, zoals wordt uitgelegd in dit artikel.

Extern bureaublad configureren via Visual Studio 2017 versie 15.4 en eerder

Wanneer u Visual Studio 2017 versie 15.4 en eerder gebruikt, kunt u de optie Extern bureaublad inschakelen gebruiken voor alle rollen in de wizard Publiceren. U kunt de wizard nog steeds gebruiken met Visual Studio 2017 versie 15.5 en hoger, maar gebruik de optie Extern bureaublad niet.

  1. Start in Visual Studio de wizard Publiceren door met de rechtermuisknop op uw cloudserviceproject in Solution Explorer te klikken en Publiceren te kiezen.

  2. Meld u indien nodig aan bij uw Azure-abonnement en selecteer Volgende.

  3. Selecteer Op de pagina Instellingen de optie Extern bureaublad inschakelen voor alle rollen en selecteer vervolgens de koppeling Instellingen... om het dialoogvenster Configuratie van extern bureaublad te openen.

  4. Selecteer onder aan het dialoogvenster Meer opties. Met deze opdracht wordt een vervolgkeuzelijst weergegeven waarin u een certificaat maakt of kiest, zodat u referenties kunt versleutelen wanneer u verbinding maakt via extern bureaublad.

    Notitie

    De certificaten die u nodig hebt voor een verbinding met een extern bureaublad verschillen van de certificaten die u gebruikt voor andere Azure-bewerkingen. Het certificaat voor externe toegang moet een persoonlijke sleutel hebben.

  5. Selecteer een certificaat in de lijst of kies <Maken...>. Als u een nieuw certificaat maakt, geeft u een beschrijvende naam op voor het nieuwe certificaat wanneer u hierom wordt gevraagd en selecteert u OK. Het nieuwe certificaat wordt weergegeven in de vervolgkeuzelijst.

  6. Geef een gebruikersnaam en een wachtwoord op. U kunt geen bestaand account gebruiken. Gebruik Administrator niet als gebruikersnaam voor het nieuwe account.

  7. Kies een datum waarop het account verloopt. Een verlopen account blokkeert automatisch verdere verbindingen met Extern bureaublad.

  8. Nadat u alle vereiste gegevens hebt opgegeven, selecteert u OK. Visual Studio voegt de instellingen voor Extern bureaublad toe aan de en .csdef bestanden van .cscfg uw project, inclusief het wachtwoord dat is versleuteld met behulp van het gekozen certificaat.

  9. Voer de resterende stappen uit met behulp van de knop Volgende en selecteer Publiceren wanneer u klaar bent om uw cloudservice te publiceren. Als u nog niet klaar bent om te publiceren, selecteert u Annuleren en antwoordt u Ja wanneer u wordt gevraagd om wijzigingen op te slaan. U kunt uw cloudservice later publiceren met deze instellingen.

Extern bureaublad configureren bij gebruik van Visual Studio 2017 versie 15.5 en hoger

Met Visual Studio 2017 versie 15.5 en hoger kunt u de wizard Publiceren nog steeds gebruiken met een cloudserviceproject. U kunt ook de optie Extern bureaublad inschakelen gebruiken voor alle rollen als u slechts als één ontwikkelaar werkt.

Als u als onderdeel van een team werkt, moet u in plaats daarvan extern bureaublad inschakelen in de Azure-cloudservice met behulp van Azure Portal of PowerShell.

Deze aanbeveling wordt veroorzaakt door een wijziging in de wijze waarop Visual Studio 2017 versie 15.5 en hoger communiceert met de VM van de cloudservice. Wanneer u Extern bureaublad inschakelt via de wizard Publiceren, communiceren eerdere versies van Visual Studio met de VIRTUELE machine via de RDP-invoegtoepassing. Visual Studio 2017 versie 15.5 en hoger communiceert in plaats daarvan met behulp van de RDP-extensie die veiliger en flexibeler is. Deze wijziging komt ook overeen met het feit dat de Azure-portal en PowerShell-methoden om Extern bureaublad in te schakelen ook gebruikmaken van de RDP-extensie.

Wanneer Visual Studio communiceert met de RDP-extensie, wordt er een wachtwoord voor tekst zonder opmaak verzonden via TLS (Transport Layer Security). De configuratiebestanden van het project slaan echter alleen een versleuteld wachtwoord op, dat alleen in tekst zonder opmaak kan worden ontsleuteld met het lokale certificaat dat oorspronkelijk is gebruikt om het te versleutelen.

Als u het cloudserviceproject elke keer vanaf dezelfde ontwikkelcomputer implementeert, is dat lokale certificaat beschikbaar. In dit geval kunt u nog steeds de optie Extern bureaublad inschakelen gebruiken voor alle rollen in de wizard Publiceren.

Als u of andere ontwikkelaars echter het cloudserviceproject van verschillende computers willen implementeren, ontbreken die andere computers het benodigde certificaat om het wachtwoord te ontsleutelen. Als gevolg hiervan ziet u het volgende foutbericht:

Applying remote desktop protocol extension.
Certificate with thumbprint [thumbprint] doesn't exist.

U kunt het wachtwoord wijzigen telkens wanneer u de cloudservice implementeert, maar die actie wordt onhandig voor iedereen die Extern bureaublad moet gebruiken.

Als u het project deelt met een team, kunt u het beste de optie in de publicatiewizard wissen en in plaats daarvan Extern bureaublad rechtstreeks inschakelen via De Azure-portal of met behulp van PowerShell.

Implementeren vanaf een buildserver met Visual Studio 2017 versie 15.5 en hoger

U kunt een cloudserviceproject implementeren vanaf een buildserver (bijvoorbeeld met Azure DevOps Services) waarop Visual Studio 2017 versie 15.5 of hoger is geïnstalleerd in de buildagent. Met deze regeling vindt de implementatie plaats vanaf dezelfde computer waarop het versleutelingscertificaat beschikbaar is.

Als u de RDP-extensie van Azure DevOps Services wilt gebruiken, neemt u de volgende gegevens op in uw build-pijplijn:

  1. Neem /p:ForceRDPExtensionOverPlugin=true op in uw MSBuild-argumenten om ervoor te zorgen dat de implementatie werkt met de RDP-extensie in plaats van de RDP-invoegtoepassing. Voorbeeld:

    msbuild AzureCloudService5.ccproj /t:Publish /p:TargetProfile=Cloud /p:DebugType=None
        /p:SkipInvalidConfigurations=true /p:ForceRDPExtensionOverPlugin=true
    
  2. Voeg na de buildstappen de azure Cloud Service-implementatiestap toe en stel de eigenschappen ervan in.

  3. Voeg na de implementatiestap een Azure PowerShell-stap toe, stel de eigenschap Weergavenaam in op 'Azure Deployment: RDP-extensie inschakelen' (of een andere geschikte naam) en selecteer uw juiste Azure-abonnement.

  4. Stel scripttype in op 'Inline' en plak het volgende in het veld Inline Script . (U kunt ook een .ps1 bestand in uw project maken met dit script, scripttype instellen op 'Pad naar scriptbestand' en scriptpad instellen om naar het bestand te verwijzen.)

    Param(
        [Parameter(Mandatory=$True)]
        [string]$username,
    
        [Parameter(Mandatory=$True)]
        [string]$password,
    
        [Parameter(Mandatory=$True)]
        [string]$serviceName,
    
        [Datetime]$expiry = ($(Get-Date).AddYears(1))
    )
    
    Write-Host "Service Name: $serviceName"
    Write-Host "User Name: $username"
    Write-Host "Expiry: $expiry"
    
    $securepassword = ConvertTo-SecureString -String $password -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential $username,$securepassword
    
    # Try to remote existing RDP Extensions
    try
    {
        $existingRDPExtension = Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename
        if ($existingRDPExtension -ne $null)
        {
            Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
        }
    }
    catch
    {
    }
    
    Set-AzureServiceRemoteDesktopExtension -ServiceName $servicename -Credential $credential -Expiration $expiry -Verbose
    

Verbinding maken met een Azure-rol met behulp van Extern bureaublad

Nadat u uw cloudservice in Azure hebt gepubliceerd en Extern bureaublad hebt ingeschakeld, kunt u Visual Studio Server Explorer gebruiken om u aan te melden bij de VM van de cloudservice:

  1. Vouw in Server Explorer het Azure-knooppunt uit en vouw vervolgens het knooppunt voor een cloudservice en een van de bijbehorende rollen uit om een lijst met exemplaren weer te geven.

  2. Klik met de rechtermuisknop op een exemplaarknooppunt en selecteer Verbinding maken met extern bureaublad.

  3. Voer de gebruikersnaam en het wachtwoord in die u eerder hebt gemaakt. U bent nu aangemeld bij uw externe sessie.

Volgende stappen