C# 如何在RDP/MSTSC中识别登录失败?
我正在使用 我需要识别用户登录因凭据错误而失败的时间 事件应该可以完成任务,但它不会触发(至少不会在服务器2016上),而其他事件似乎工作正常 从Microsoft文档的C# 如何在RDP/MSTSC中识别登录失败?,c#,events,rdp,ocx,mstsc,C#,Events,Rdp,Ocx,Mstsc,我正在使用 我需要识别用户登录因凭据错误而失败的时间 事件应该可以完成任务,但它不会触发(至少不会在服务器2016上),而其他事件似乎工作正常 从Microsoft文档的OnLogonError: 登录失败\u密码错误\u(0(0x0)) 登录失败,因为登录凭据无效 该行为(非激发OnLogonError)已报告多次,但没有解决方案。我发现的一个提示是: 在进一步测试之后,我发现如果连接到Windows 2003服务器,则会输入事件。但在连接到Win7及更高版本和Win2008R2及更高版本时不
OnLogonError
:
登录失败\u密码错误\u(0(0x0))
登录失败,因为登录凭据无效
该行为(非激发OnLogonError)已报告多次,但没有解决方案。我发现的一个提示是:
在进一步测试之后,我发现如果连接到Windows 2003服务器,则会输入事件。但在连接到Win7及更高版本和Win2008R2及更高版本时不会。我想知道微软是否在较新的系统中删除了事件功能
但从事件的文档来看,它应该得到支持
支持的客户端Windows Vista的最小值
Windows server 2008支持的最低服务器数
编辑 我下载了,这似乎是RDP的一个非常干净的实现。事件没有在那里使用。但当我加上它时,它也不会开火 Edit2 连接到Windows Server 2012 R2时,该事件似乎有效。但不适用于服务器2016/2019
我到目前为止所做的尝试
- 使用类的多个实现进行测试(从MsRdpClient6NotSafeForScripting到MsRdpClient9NotSafeForScripting)
- 使用多种设置进行测试
- 是否存在任何可能导致此事件不触发的设置
- 是否有其他方法可以识别登录失败
<COMReference Include="RDPCOMAPILib.dll">
<Guid>cc802d05-ae07-4c15-b496-db9d22aa0a84</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<WrapperTool>aximp</WrapperTool>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
</COMReference>
cc802d05-ae07-4c15-b496-DB9D22AA084
1.
0
aximp
0
假的