Máy window xp của e bị lỗi remote desktop disconnected

“No remote Desktop License Server available on RD Session Host server 2012 (event id 1130).”

Error in RDS 2012:

EventID: 1130
Source: TerminalServices-RemoteConnectionManager
The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer. Please contact the server administrator.”

Cách chữa theo các bước sau:

Bước 1. Xóa key license trial của RDSH cũ:

Hãy xoá tham số này trong Regedit  “REG_BINARY in”

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod

(hãy để phân quyền ở mức ownership để có thể xoá được key này.)

Máy window xp của e bị lỗi remote desktop disconnected

Máy window xp của e bị lỗi remote desktop disconnected

Sau đó khởi động lại tất cả Remote Desktop services.

Chú thích: bây giờ nếu bạn không thể xoá được hoặc chưa xoá được key này

Bạn cần thay lại quyền ownership cho Admin users và có full control để xoá key đó.

Máy window xp của e bị lỗi remote desktop disconnected

Bấm vào key cần ownership . Chọn menu Edit bấm Permissions> bấm tiếp Advanced và sau đó bấm Owner tab.

Nhóm chọn Replace owner on subcontainers and objects và bấm  new owner, và sau đó bấm OK.

Bước 2. Kiểm tra các cấu hình RDP Session Host Server Configuration:

Máy window xp của e bị lỗi remote desktop disconnected

Máy window xp của e bị lỗi remote desktop disconnected

Máy window xp của e bị lỗi remote desktop disconnected

Bước 3. Kiểm tra các RD Service, có thể restart service nếu không users kết nối:

Máy window xp của e bị lỗi remote desktop disconnected

Bước 4. Xóa thông báo TS theo lịch trình của Windows:

Máy window xp của e bị lỗi remote desktop disconnected

Máy window xp của e bị lỗi remote desktop disconnected

Bước 5. Kiểm tra xác nhận lại RDSH còn kết nối License:

Máy window xp của e bị lỗi remote desktop disconnected

Bước 6. Xóa tên máy chủ và tạo lại License mới thông qua kiểu Device:

Máy window xp của e bị lỗi remote desktop disconnected

Bước 7. Kiểm tra RemoteApp từ máy trạm và phát hiện lỗi remote:

Máy window xp của e bị lỗi remote desktop disconnected

Bước 8. Khởi động lại máy chủ RDSH:

Khởi động lại máy chủ và

Mở Server Manager lại kiểm tra các Services RDP

Máy window xp của e bị lỗi remote desktop disconnected

Nếu thấy lỗi services thì chọn nút phải chuột bật start /restart lại các services đó.

Chúc các bạn thành công !

Trong bài viết này, chúng tôi sẽ mô tả cách xem và kiểm tra nhật ký kết nối RDP trong Windows. Nhật ký kết nối RDP cho phép quản trị viên máy chủ đầu cuối RDS lấy thông tin về người dùng nào đã đăng nhập và thoát máy chủ  từ thiết bị nào (DNS name hoặc địa chỉ IP) mà người dùng đã đăng nhập.

Bài viết có thể áp dụng cho cả Windows Server 2022/2019/2016 / 2012R2 và các phiên bản dành cho máy tính để bàn (Windows 11, 10 và 8.1).

  • Xem thông tin Remote Desktop Connection trong Windows Event Viewer
    • Sự kiện 1: Kết nối mạng 
    • Sự kiện 2: Xác thực người dùng
    • Sự kiện 3: Đăng nhập
    • Sự kiện 4: Ngắt kết nối / Kết nối lại phiên
    • Sự kiện 5: Đăng xuất
  • Lấy lịch sử đăng nhập Remote Desktop với PowerShell
  • Nhật ký kết nối RDP đi trong Windows

Xem thông tin Remote Desktop Connection trong Windows Event Viewer

Khi người dùng kết nối với máy tính khác thông qua RDP, thông tin về các sự kiện sẽ được lưu trữ trong nhật ký của Event Viewer logs (eventvwr.msc). Trình tự của một phiên RDP sẽ như sau:

  1. Kết nối mạng;
  2. Xác thực người dùng;
  3. Đăng nhập;
  4. Ngắt kết nối / Kết nối lại phiên;
  5. Đăng xuất.

Sự kiện 1: Kết nối mạng 

Sự kiện này để thiết lập kết nối giữa máy chủ từ máy người dùng. Đây là một sự kiện với EventID là 1149. Nếu có log của sự kiện này nghĩa là người dùng đã đăng nhập thành công. 

Log này nằm tại:  “Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-RemoteConnectionManager > Operational”. 

Máy window xp của e bị lỗi remote desktop disconnected

Để bật bộ lọc nhật ký cho sự kiện này (Phải chuột vào Operational-> Filter Current Log -> Nhập 1149 vào EventId như hình).

Máy window xp của e bị lỗi remote desktop disconnected

Bạn cũng có thể liệt kê tất cả các lần thử kết nối RDP với PowerShell bằng lệnh sau:

$RDPAuths = Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -FilterXPath ''
[xml[]]$xml=$RDPAuths|Foreach{$_.ToXml()}
$EventData = Foreach ($event in $xml.Event)
{ New-Object PSObject -Property @{
TimeCreated = (Get-Date ($event.System.TimeCreated.SystemTime) -Format 'yyyy-MM-dd hh:mm:ss K')
User = $event.UserData.EventXML.Param1
Domain = $event.UserData.EventXML.Param2
Client = $event.UserData.EventXML.Param3
}
} $EventData | FT
Máy window xp của e bị lỗi remote desktop disconnected

Sau khi chạy lệnh, bạn sẽ nhận được một danh sách lịch sử sự kiện của tất cả các kết nối RDP đến máy chủ này. Nhật ký cung cấp tên người dùng, miền và địa chỉ IP của máy tính của người dùng.

Sự kiện 2: Xác thực người dùng

Sự kiện này cho biết người dùng RDP đã được xác thực thành công trên máy chủ hay chưa. Log của sự kiện nằm tại Windows Logs -> Security. Sự kiện này có EventID là 4624 (An account was successfully logged on) hoặc 4625 (An account failed to log on).

Bạn nên chú ý tới giá trị LogonType trong phần mô tả sự kiện.

  • LogonType = 10 hoặc 3 — Remote Desktop bằng một phiên đăng nhập mới hoàn toàn
  • LogonType = 7 – người dùng đã kết nối lại với phiên RDP hiện có;
  • LogonType = 5 – RDP với quyền admin.
Máy window xp của e bị lỗi remote desktop disconnected

Bạn có thể lấy danh sách các sự kiện xác thực RDP thành công (EventID 4624) bằng cách sử dụng lệnh PowerShell sau:

Get-EventLog security -after (Get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4624 -and $_.Message -match 'logon type:\s+(10)\s'} | Out-GridView
Máy window xp của e bị lỗi remote desktop disconnected

Sự kiện 3: Đăng nhập

Sự kiện lưu trữ lại thông tin RDP login vào Windows. Sự kiện này có EventID là 21, xuất hiện sau khi người dùng đã được xác thực thành công (Remote Desktop Services: Session logon succeeded). Sự kiện này nằm tại  “Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational”. Như bạn có thể thấy, tại đây bạn có thể tìm thấy ID của phiên RDP của người dùng – Session ID.

Máy window xp của e bị lỗi remote desktop disconnected

EventID – 21  (Remote Desktop Services: Shell start notification received) cho biết rằng trình Explorer đã được khởi động thành công (màn hình Windows xuất hiện trong phiên RDP của người dùng).

Sự kiện 4: Ngắt kết nối / Kết nối lại phiên

Các sự kiện ngắt kết nối phiên và kết nối lại có các ID khác nhau tùy thuộc vào nguyên nhân gây ra mất kết nối người dùng (ngắt kết nối do quá thời gian chờ của phiên RDP, Ngắt kết nối do người dùng khác hoặc quản trị viên kết thúc, v.v..). Bạn có thể tìm thấy sự kiện này tại “Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational”

Sau đây là một số ID của sự kiện:

EventID 4778 nằm trong“Windows -> Security” (Một phiên đã được kết nối lại với Window Station). Người dùng đã kết nối lại với phiên RDP (người dùng được chỉ định LogonID mới).

EventID 4779 nằm trong “Windows -> Security” (Một phiên đã bị ngắt kết nối khỏi Window Station). Người dùng đã bị ngắt kết nối khỏi phiên RDP

Sự kiện 5: Đăng xuất

Log lưu sự kiện kết thúc của một phiên người dùng. Sự kiện này có EventID là 23 (Remote Desktop Services: Session logoff succeeded). Bạn tìm sự kiện này tại  “Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-LocalSessionManager -> Operational”.

Máy window xp của e bị lỗi remote desktop disconnected

Đồng thời, sự kiện với EventID là 4634 (An account was logged off) cũng  xuất hiện trong Security log.

EventID 9009  (The Desktop Window Manager has exited with code ) trong System log có nghĩa là người dùng đã bắt đầu đăng xuất khỏi phiên RDP với cả cửa sổ và khung đồ họa của người dùng đã bị chấm dứt.

EventID 4647 — Đăng xuất do người chủ động thực hiện

Lấy lịch sử đăng nhập Remote Desktop với PowerShell

Để lấy lịch sử đăng nhập bằng RDP của ngày hôm nay, bạn có thể sử dụng tệp lệnh sau:

Get-EventLog -LogName Security -after (Get-date -hour 0 -minute 0 -second 0)| ?{(4624,4778) -contains $_.EventID -and $_.Message -match 'logon type:\s+(10)\s'}| %{
(new-object -Type PSObject -Property @{
TimeGenerated = $_.TimeGenerated
ClientIP = $_.Message -replace '(?smi).*Source Network Address:\s+([^\s]+)\s+.*','$1'
UserName = $_.Message -replace '(?smi).*\s\sAccount Name:\s+([^\s]+)\s+.*','$1'
UserDomain = $_.Message -replace '(?smi).*\s\sAccount Domain:\s+([^\s]+)\s+.*','$1'
LogonType = $_.Message -replace '(?smi).*Logon Type:\s+([^\s]+)\s+.*','$1'
})
} | sort TimeGenerated -Descending | Select TimeGenerated, ClientIP `
, @{N='Username';E={'{0}\{1}' -f $_.UserDomain,$_.UserName}} `
, @{N='LogType';E={
switch ($_.LogonType) {
2 {'Interactive - local logon'}
3 {'Network connection to shared folder)'}
4 {'Batch'}
5 {'Service'}
7 {'Unlock (after screensaver)'}
8 {'NetworkCleartext'}
9 {'NewCredentials (local impersonation process under existing connection)'}
10 {'RDP'}
11 {'CachedInteractive'}
default {"LogType Not Recognised: $($_.LogonType)"}
}
}}

Máy window xp của e bị lỗi remote desktop disconnected

Bạn có thể xuất nhật ký kết nối RDP từ Event Viewer ra file CSV (để phân tích thêm trong Excel). Bạn có thể xuất nhật ký từ Event Viewer GUI hoặc qua CMD

WEVTUtil query-events Security > c:\ps\rdp_security_log.txt

Hoặc bằng PowerShell:

get-winevent -logname "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" | Export-Csv c:\ps\rdp_connection_log.txt  -Encoding UTF8

Nếu người dùng của bạn kết nối với máy chủ RDS của công ty thông qua Remote Desktop Gateway, bạn có thể kiểm tra nhật ký kết nối người dùng trong log Microsoft-Windows-TerminalServices-Gateway bằng EventID 302. Ví dụ: tập lệnh PowerShell sau sẽ hiển thị lịch sử kết nối của người dùng được chỉ định thông qua RD Gateway:

$rdpusername="b.smith"
$properties = @(
@{n='User';e={$_.Properties[0].Value}},
@{n='Source IP Adress';e={$_.Properties[1].Value}},
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='Target RDP host';e={$_.Properties[3].Value}}
)
(Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-Gateway/Operational';ID='302'} | Select-Object $properties) -match $rdpusername
Máy window xp của e bị lỗi remote desktop disconnected

Bạn có thể kiểm tra các sự kiện kết nối của người dùng RD Gateway trong log sự kiện Microsoft-Windows-TerminalServices-Gateway:

Bạn có thể hiển thị danh sách các phiên từ xa hiện tại trên máy chủ RDS của mình bằng lệnh:

qwinsta

Lệnh trả về ID phiên, USERNAME và trạng thái phiên (Hoạt động / Ngắt kết nối).

Máy window xp của e bị lỗi remote desktop disconnected

Bạn có thể hiển thị danh sách các quy trình đang chạy trong phiên RDP cụ thể (với ID phiên được chỉ định):

qprocess /id:5
Máy window xp của e bị lỗi remote desktop disconnected

Nhật ký kết nối RDP đi trong Windows

Bạn cũng có thể xem nhật ký kết nối RDP từ máy bạn tới máy khách. Nhật ký sự kiện kết nối đi được lưu tại: "Application and Services Logs -> Microsoft -> Windows -> TerminalServices-ClientActiveXCore -> Microsoft-Windows-TerminalServices-RDPClient -> Operational".

Ví dụ: EventID 1102 xảy ra khi người dùng kết nối với máy chủ Windows Server RDS từ xa hoặc máy tính Windows 10/11 có bật RDP. Như hình bên dưới nghĩa là Máy khách đã bắt đầu kết nối đến máy chủ 192.168.20.39.

Máy window xp của e bị lỗi remote desktop disconnected

Tập lệnh PowerShell sau sẽ hiển thị lịch sử kết nối máy khách RDP trên máy tính hiện tại:

$properties = @(
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LocalUser';e={$_.UserID}}
@{n='Target RDP host';e={$_.Properties[1].Value}}
)
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RDPClient/Operational';ID='1102'} | Select-Object $properties
Máy window xp của e bị lỗi remote desktop disconnected

Tập lệnh trả về SID của những người dùng đã khởi tạo kết nối RDP trên máy tính này, cũng như tên DNS / địa chỉ IP của máy chủ Remote Desktop mà người dùng đã kết nối.