Tipps

Remote Desktop per Powershell Remote aus der Ferne aktivieren

Sie möchten sich auf einen Computer per RDP remote aufschalten, aber RDP ist nicht aktiviert? Kein Problem, solange der Computer per Powershell-Remoting erreichbar ist. RDP ist nämlich über einen einzigen Registry-Eintrag steuerbar. Er heißt fDenyTSConnections und gehört zum Schlüssel Hkey_Local_Machine\System\CurrentControlSet\Control\Terminal Server. Setzen Sie ihn auf 0, so werden RDP-Verbindungen nicht mehr blockiert. Die Einstellung wirkt sofort, ein Neustart ist nicht notwendig, allerdings blockiert die Windows Firewall den Port 3389 dann weiterhin. Es gibt eine Gruppe von Regeln mit dem sprechenden Namen "RemoteDesktop", die Sie aktivieren müssen, um die Ausnahmen für eingehende RDP-Verbindungen inklusive Remote-Unterstützung zu aktivieren. Das geht mit Powershell in zwei Zeilen:

$RdpKey = "Registry::Hkey_Local_Machine\System\CurrentControlSet\Control\Terminal Server"
Set-ItemProperty -Path $RDPKey -Name "fDenyTSConnections" –Value 0
Enable-NetFirewallRule -DisplayGroup "RemoteDesktop"

Ja, Sie haben natürlich Recht, das sind 3 Zeilen, aber nur, um den Code hier ein wenig übersichtlicher darstellen zu können. ;-)

Wenn Sie am betroffenen Rechner sitzen, können Sie das natürlich auch von Hand machen. Sitzen Sie nicht an der betreffenden Maschine, aber Powershell-Remoting ist aktiviert (ab allen Servern ab 2012 Standard), können Sie das aber per Invoke-Command auch aus der Ferne erledigen. Das kann man natürlich auch wieder ein eine Funktion packen und in ein Modul speichern. Als einfache Funktion könnte das so aussehen - auch gleich mit Unterstützung für SSL.

Function Enable-RemoteDesktop
{
param(
  [String]$computername,

  [Switch]$useSSL,

  [PsCredential]$Credential
)

  $InvokeParam = @{
    Computername = $computername
    Credential = $Credential
  }

  If ( $useSSL )
  {
    $InvokeParam["UseSSL"] = $true
  }

  Invoke-Command @InvokeParam -ScriptBlock {
    $RdpKey = "Registry::Hkey_Local_Machine\System\CurrentControlSet\Control\Terminal Server"
    Set-ItemProperty -Path $RDPKey -Name "fDenyTSConnections" –Value 0
    Enable-NetFirewallRule -DisplayGroup "RemoteDesktop"
  }
}

 


 995,    21  Mai  2019 ,   Tipp
Holger Voges

  E-Mail Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

Holger Voges ist Inhaber der Firma Netz-Weise IT-Training und seit 1999 als Trainer und Consultant tätig. Als Allrounder in den Bereichen Windows Server, Active Directory, SQL Server, Hyper-V und Windows PowerShell, hat er in der Vergangenheit zahlreiche Einsätze als Consultant in namenhaften Firmen absolviert und so neben der Theorie auch umfangreiche praktische Erfahrungen gesammelt.

 

Netz-Weise

Das Haupt-Tätigkeitsfeld von Netz-Weise sind Schulungen für Profis. Bei uns bekommen Sie das Programm für den fortgeschrittenen Praktiker, der die Tiefen des Systems ausloten möchte genauso wie Standard-Schulungen.

So erreichen Sie uns:

Netz-Weise
IT-Training und Beratung
Freundallee 13a
30173 Hannover
 
Tel: (0511) 165 925-0
Fax: (0511) 165 925-99
email: info(at)netz-weise.de
 

Newsletter bestellen

Das Wichtigste kompakt ins E-Mailfach!