AWS : Windows Remote Desktop - Zugriff nicht möglich

Wir hatten hier das Problem das die RDP Session nicht mehr zu starten ist.

Es ist immer dieser Fehler aufgetreten.

RDP internal error

Die Maschinen laufen in der AWS und leider war der Session Manager auch noch nicht am Start. z.G. war auf der Maschine der SSM-Agent bereits installiert, wenn nicht kann man das so erledigen, natürlich bevor RDP kaputt ist ;-) (Install SSM Agent on Windows)

Die Maschine muss natürlich in SSM aufgeführt sein. Sollte das nicht der Fall sein einfach mal überprüfen ob die richtigen IAM Rollen auf den Maschinen angewendet werden. Für eine schnelle Fehlerbehebung hatte ich kurzfristig SSMFullAccess verwendet.

IAM Policy
Jetzt startet man den AWS System Manager und führt dort das Dokument "AWS-RunPowerShellScript" gegen die kaputte Maschine aus.


Unter Run a command kann man im Feld Command parameters kann man ein Powershell Script rein werfen das gegen die Maschine läuft.


hier das skript
$AllCertificates = (Get-ChildItem -Path 'Cert:\LocalMachine\My' |
Where-Object -FilterScript {
$_.Subject -Match $env:Computername } |
Select-Object Thumbprint, Subject, NotBefore, NotAfter, Issuer |
Sort-Object -Property NotAfter -Descending)
foreach ($Cert in $AllCertificates)
{
Write-Output $Cert
}


Alle folgenden Skript werden nach dem selben Muster ausgeführt.

1.) Auslesen des Zertifikates
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"
unter SSLCertificateSHA1Hash steht der Thumbprint

2.) Setzen des Zertifikates
$RDPGeneralSettings = (Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'")
Set-WmiInstance -path $RDPGeneralSettings.__path -argument @{SSLCertificateSHA1Hash = "NEUER THUMBPRINT"}

3.) Restart des RDP Dienstes
Restart-Service -Name TermService -force

Kurz noch zur Erklärung , mit diesem Powershell hab ich mir die Events angeschaut die mich auf die richtige Fährte gebracht haben.
Get-EventLog -LogName System -After 6/9/2021 -Before 9/9/2021 -EntryType Error | Format-List

Check_MK : Perf Counter ermitteln

Hier sollte ein Terminal Server (Windows 2019) in das Monitoring von CheckMK aufgenommen werden. Hier werden die Perf Counter des Terminal Servers benötigt. Als erstes dachte ich mir ich mach das mal einfach und lass einfach die perf counter raus. Das habe ich mit dem folgenden Befehl gemacht.
lodctr /S:C:\scripts\perf.txt
Leider steht hier in der Datei ein perf Counter mit diesem Wert
5736=Terminal Services Session
in der Datei. Scheinbar hat dieser Perfcounter nicht gestimmt und ich hab den nochmal manuell aus der Registry ermittelt. Dort sind diese Werte hinterlegt.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\_V2Providers\{f3b975e7-e068-4f66-81ef-b23e0a0e64c9}\{fc9e399c-c70a-4458-8430-ca249c371eb3}]
"NameResource"=dword:00000001
"ExplainResource"=dword:00000003
"NeutralName"="Terminal Services"
"InstanceType"=dword:00000000
"First Counter"=dword:0000142a
"Last Counter"=dword:00001430
"CounterBlock"=hex:01,00,00,00,00,00,01,00,01,00,00,00,00,00,00,00,64,00,00,00,\
  00,00,00,00,05,00,00,00,07,00,00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,\
  ff,ff,ff,ff,ff,ff,ff,00,00,00,00,02,00,00,00,00,00,01,00,01,00,00,00,00,00,\
  00,00,64,00,00,00,00,00,00,00,09,00,00,00,0b,00,00,00,00,00,00,00,ff,ff,ff,\
  ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,03,00,00,00,00,00,01,00,\
  01,00,00,00,00,00,00,00,64,00,00,00,00,00,00,00,0d,00,00,00,0f,00,00,00,00,\
  00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00
"CounterCount"=dword:00000003
Jetzt nimmt man den Wert der unter First Counter gelistet ist und rechnet diesen von HEX in DEZIMAL um. Also HEX 0000142a = DEZ 5162 , dann kommt man auf einen anderen Counter, verwendet man diesen jetzt in CheckMK funktioniert alles wie es soll. AAHHHHH
Auszug aus der check_mk.ini
[winperf]
    counters = 5162:ts_sessions
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)