Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Windows 事件日誌「TermService 性能庫不匹配」錯誤修復方案

編輯:關於伺服器

錯誤現象

事件查看器 → 系統日誌 中反復出現:

「TermService」服務的性能庫 "C:\WINDOWS\system32\perfts.dll" 的配置信息同在注冊表中保存的受信任性能庫信息不匹配。此庫中的函數不會作為受信任函數處理。

事件來源:Perflib,事件 ID:2003,類型:警告。

根因分析

安裝 Windows Server 2003 SP2 後,perfts.dll 文件版本更新(大小、時間戳變化),但注冊表 HKLM\SYSTEM\CurrentControlSet\Services\TermService\Performance 中緩存的庫信息(Library、Open、Collect、Close、First Counter、Last Counter、First Help、Last Help、Counter Names、Help Names)未同步更新,導致版本不匹配。

TermService 服務說明

Terminal Services(終端服務)提供多會話環境,支援遠程桌面、遠程應用、遠程管理。禁用將導致無法遠程管理服務器,生產環境嚴禁禁用。

修復方案

方法一:lodctr 命令重建性能計數器(標準修復)


# 以管理員身份運行 CMD
lodctr /T:TermService

該命令將讀取 perfts.dll 當前版本信息,更新注冊表中對應的性能計數器配置。

方法二:完整性能庫重建(徹底修復)


# 1. 備份注冊表性能相關鍵值
reg export HKLM\SYSTEM\CurrentControlSet\Services\TermService\Performance TermService_Perf_Backup.reg

# 2. 重建所有性能計數器
lodctr /R
# 或針對性重建
lodctr /T:TermService

# 3. 驗證
typeperf "\Terminal Services\Active Sessions" -sc 1
# 應正常輸出計數器數值

方法三:手動注冊表修正(不推薦,風險高)

僅在上述方法無效時嘗試,需極其謹慎:


# 刪除損壞的性能鍵值
reg delete HKLM\SYSTEM\CurrentControlSet\Services\TermService\Performance /f

# 重啟服務器或重新載入性能庫
lodctr /T:TermService

驗證修復結果

  1. 事件查看器 → 系統日誌 → 篩選 Perflib 來源 → 確認無新增 2003 警告
  2. 運行 perfmon.msc → 添加「Terminal Services」計數器 → 應正常顯示圖表
  3. typeperf "\Terminal Services\Total Sessions" -sc 5 持續輸出無錯誤

預防復發措施

  • 補丁安裝後執行 lodctr /R:納入月度補丁流程標準動作
  • 監控腳本:Zabbix/Prometheus 監控 perflib 事件 ID 2003,告警觸發自動修復
  • 系統狀態備份:Windows Server Backup 定期備份系統狀態(含注冊表)

相關知識擴展

命令功能適用場景
lodctr /R從註冊表還原所有性能計數器系統級修復、補丁後批量修復
lodctr /T:服務名刷新指定服務性能庫信息單服務修復、精準控制
unlodctr 服務名卸載服務性能計數器移除不需要的計數器
exctrlst.exe圖形化性能計數器啟用/禁用工具Windows 2000 Resource Kit 工具

總結

TermService 性能庫不匹配是 SP2 升級後的已知問題,執行 lodctr /T:TermService 即可秒級修復。建議將性能計數器重建納入補丁管理 SOP,配合監控自動化,徹底消除此類干擾性警告。

Copyright © Windows教程網 All Rights Reserved