欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#獲取Windows Server服務器本機RDP遠程桌面歷史登錄信息

admin
2025年2月14日 15:45 本文熱度 744

在C#中獲取本機的遠程桌面歷史登錄信息通常涉及讀取Windows事件日志。遠程桌面服務登錄信息通常記錄在“Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational”日志中。你可以使用EventLog類來訪問這些事件。

以下是一個示例代碼,展示如何使用C#讀取遠程桌面服務的登錄信息:

  • 首先,確保你的應用程序有足夠的權限來讀取事件日志。通常需要管理員權限。

  • ?使用EventLog類來查詢特定的事件日志。

示例代碼

using System;

using System.Diagnostics;

 

class Program

{

    static void Main()

    {

        string logName = "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational";

        EventLog eventLog = new EventLog(logName);

 

        try

        {

            // 打開事件日志

            eventLog.OpenExisting();

            

            // 獲取事件條目

            EventLogEntryCollection entries = eventLog.Entries;

            foreach (EventLogEntry entry in entries)

            {

                if (entry.InstanceId == 1076) // ID 1076 表示用戶登錄事件

                {

                    Console.WriteLine("Event ID: " + entry.InstanceId);

                    Console.WriteLine("Time Generated: " + entry.TimeGenerated);

                    Console.WriteLine("User: " + GetUserFromMessage(entry.Message));

                    Console.WriteLine("Computer: " + GetComputerFromMessage(entry.Message));

                    Console.WriteLine();

                }

            }

        }

        catch (Exception ex)

        {

            Console.WriteLine("Error: " + ex.Message);

        }

        finally

        {

            if (eventLog != null) eventLog.Close();

        }

    }

 

    static string GetUserFromMessage(string message)

    {

        string pattern = "User Name: (\\S+)"; // 正則表達式匹配用戶名

        var match = System.Text.RegularExpressions.Regex.Match(message, pattern);

        return match.Success ? match.Groups[1].Value : "Unknown";

    }

 

    static string GetComputerFromMessage(string message)

    {

        string pattern = "Client Address: (\\S+)"; // 正則表達式匹配計算機名或IP地址

        var match = System.Text.RegularExpressions.Regex.Match(message, pattern);

        return match.Success ? match.Groups[1].Value : "Unknown";

    }

}

說明:

  1. 權限:確保你的應用程序以管理員權限運行,或者以管理員身份配置應用程序的權限。

  2. 日志名稱:"Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational" 是記錄遠程桌面連接嘗試的日志。

  3. 事件ID:ID 1076 對應于遠程桌面服務中的用戶登錄事件。你可以根據需要調整這個ID來過濾特定類型的事件。

  4. 解析消息:通過正則表達式從事件消息中提取用戶名和計算機名/IP地址。這需要你根據實際的事件消息格式調整正則表達式。

注意:

  • 確保你的系統上安裝了適當的Windows更新,以便有這些特定的日志和事件ID。

  • 如果你的系統上沒有顯示這些日志,可能需要啟用它們。可以通過組策略或本地安全策略來啟用這些日志。在“本地安全策略”中,找到“高級審核策略”并確保“審核憑據驗證”設置為“成功”。這將會記錄遠程桌面連接嘗試的詳細信息。


該文章在 2025/2/14 15:45:38 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved