Aktivieren einer Remotedesktopverbindung für eine Rolle in Azure Cloud Services (klassisch) mit PowerShell
Wichtig
Cloud Services (klassisch) ist jetzt ab dem 1. September 2024 für alle Kunden veraltet. Alle vorhandenen ausgeführten Bereitstellungen werden beendet und von Microsoft heruntergefahren, und die Daten gehen ab Oktober 2024 dauerhaft verloren. In neuen Bereitstellungen sollte das neue auf Azure Resource Manager basierende Bereitstellungsmodell für Azure Cloud Services (erweiterter Support) verwendet werden.
Mit Remotedesktop können Sie auf den Desktop einer Rolle zugreifen, die in Azure ausgeführt wird. Mithilfe einer Remotedesktopverbindung können Sie Probleme mit Ihrer Anwendung diagnostizieren und beheben, während diese ausgeführt wird.
In diesem Artikel wird beschrieben, wie Sie Remotedesktop mithilfe von PowerShell für Cloud Services-Rollen aktivieren. Informationen zu den erforderlichen Komponenten für diesen Artikel finden Sie unter Installieren und Konfigurieren von Azure PowerShell. PowerShell ermöglicht die Remotedesktoperweiterung, sodass Sie Remotedesktop auch nach der Bereitstellung der Anwendung aktivieren können.
Konfigurieren von Remotedesktop über PowerShell
Mit dem Cmdlet Set-AzureServiceRemoteDesktopExtension können Sie Remotedesktop für bestimmte Rollen oder für alle Rollen Ihrer Clouddienstbereitstellung aktivieren. Das Cmdlet ermöglicht die Angabe des Benutzernamens und Kennworts für Remotedesktopbenutzer über den Credential -Parameter, der ein PSCredential-Objekt annimmt.
Wenn Sie PowerShell interaktiv verwenden, können Sie das PSCredential-Objekt durch Aufrufen des Cmdlets Get-Credentials auf einfache Weise festlegen.
$remoteusercredentials = Get-Credential
Dieser Befehl zeigt ein Dialogfeld an, in dem Sie den Benutzernamen und das Kennwort für einen Benutzer auf sichere Weise eingeben können.
Da PowerShell Automatisierungsszenarien unterstützt, können Sie das PSCredential -Objekt auch so einrichten, dass keine Benutzerinteraktion erforderlich ist. Zunächst müssen Sie ein sicheres Kennwort einrichten. Sie geben zunächst ein Klartextkennwort an und konvertieren es dann mit ConvertTo-SecureStringin eine sichere Zeichenfolge. Als Nächstes müssen Sie diese sichere Zeichenfolge mit ConvertFrom-SecureStringin eine verschlüsselte Standardzeichenfolge konvertieren. Anschließend können Sie diese verschlüsselte Standardzeichenfolge mit Set-Contentin einer Datei speichern.
Sie können auch eine sichere Kennwortdatei erstellen, damit Sie nicht jedes Mal das Kennwort eingeben müssen. Darüber hinaus ist eine sichere Kennwortdatei besser als eine Nur-Text-Datei. Verwenden Sie das folgende PowerShell-Skript zum Erstellen einer sicheren Kennwortdatei:
ConvertTo-SecureString -String "Password123" -AsPlainText -Force | ConvertFrom-SecureString | Set-Content "password.txt"
Wichtig
Stellen Sie beim Festlegen des Kennworts sicher, dass die Komplexitätsvoraussetzungenerfüllt sind.
Zum Erstellen des Anmeldeinformationsobjekts aus der sicheren Kennwortdatei müssen Sie den Inhalt der Datei auslesen und mit ConvertTo-SecureStringin eine sichere Zeichenfolge zurückkonvertieren.
Das Cmdlet Set-AzureServiceRemoteDesktopExtension nimmt auch den Expiration -Parameter an, der einen DateTime -Wert für den Zeitpunkt angibt, an dem das Benutzerkonto abläuft. Beispielsweise könnten Sie das Konto so einrichten, dass es ein paar Tage ab dem aktuellen Datum und der aktuellen Uhrzeit abläuft.
Im folgenden PowerShell-Beispiel wird die Remotedesktoperweiterung für einen Clouddienst festgelegt:
$servicename = "cloudservice"
$username = "RemoteDesktopUser"
$securepassword = Get-Content -Path "password.txt" | ConvertTo-SecureString
$expiry = $(Get-Date).AddDays(1)
$credential = New-Object System.Management.Automation.PSCredential $username,$securepassword
Set-AzureServiceRemoteDesktopExtension -ServiceName $servicename -Credential $credential -Expiration $expiry
Sie können optional auch den Bereitstellungsslot und die Bereitstellungsrollen angeben, für die Sie Remotedesktop aktivieren möchten. Wenn diese Parameter nicht angegeben werden, aktiviert das Cmdlet standardmäßig Remotedesktop für alle Rollen im Slot zur Bereitstellung der Produktion.
Die Remotedesktoperweiterung ist immer einer Bereitstellung zugeordnet. Wenn Sie eine neue Bereitstellung für den Dienst erstellen, müssen Sie Remotedesktop für diese Bereitstellung aktivieren. Wenn Remotedesktop immer aktiviert sein soll, empfiehlt es sich, die PowerShell-Skripts in Ihren Bereitstellungsworkflow zu integrieren.
Remotedesktop in einer Rolleninstanz
Mit dem Cmdlet Get-AzureRemoteDesktopFile stellen Sie eine Remotedesktopverbindung mit einer bestimmten Rolleninstanz Ihres Clouddiensts her. Sie können den Parameter LocalPath zum lokalen Herunterladen der RDP-Datei (Remote Desktop Protocol) verwenden. Sie können alternativ den Launch -Parameter verwenden, um das Dialogfeld „Remotedesktopverbindung“ für den Zugriff auf die Rolleninstanz des Clouddiensts direkt zu starten.
Get-AzureRemoteDesktopFile -ServiceName $servicename -Name "WorkerRole1_IN_0" -Launch
Überprüfen, ob die Remotedesktoperweiterung für einen Dienst aktiviert ist
Das Cmdlet Get-AzureServiceRemoteDesktopExtension zeigt an, ob Remotedesktop für eine Dienstbereitstellung aktiviert oder deaktiviert ist. Das Cmdlet gibt den Benutzernamen des Remotedesktopbenutzers und die Rollen zurück, für die die Remotedesktoperweiterung aktiviert ist. Standardmäßig wird der Bereitstellungsslot verwendet, Sie können aber auch stattdessen den Stagingslot auswählen.
Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename
Entfernen der Remotedesktoperweiterung für einen Dienst
Wenn Sie die Remotedesktoperweiterung bereits für eine Bereitstellung aktiviert haben und die Remotedesktopeinstellungen aktualisieren müssen, entfernen Sie zunächst die Erweiterung. Aktivieren Sie sie dann erneut mit den neuen Einstellungen. Dies ist beispielsweise sinnvoll, wenn Sie ein neues Kennwort für das Remotebenutzerkonto festlegen möchten oder das Konto abgelaufen ist. Dieser Schritt ist nur bei vorhandenen Bereitstellungen erforderlich, für die die Remotedesktoperweiterung aktiviert ist. Bei neuen Bereitstellungen können Sie die Erweiterung direkt anwenden.
Zum Entfernen der Remotedesktoperweiterung aus einer Bereitstellung können Sie das Cmdlet Remove-AzureServiceRemoteDesktopExtension verwenden. Sie können optional auch den Bereitstellungsslot und die Bereitstellungsrollen angeben, für die Sie die Remotedesktoperweiterung entfernen möchten.
Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
Hinweis
Um die Erweiterungskonfiguration vollständig zu entfernen, sollten Sie das Cmdlet remove mit dem UninstallConfiguration -Parameter aufrufen.
Mit dem UninstallConfiguration -Parameter wird die gesamte Erweiterungskonfiguration deinstalliert, die auf den Dienst angewendet wurde. Jede Erweiterungskonfiguration ist mit der Dienstkonfiguration verbunden. Durch Aufrufen des Cmdlets remove ohne den UninstallConfiguration-Parameter wird die Zuordnung der Bereitstellung zur Erweiterungskonfiguration aufgehoben und die Erweiterung faktisch entfernt. Die Erweiterungskonfiguration ist jedoch weiterhin dem Dienst zugeordnet.