我有一个Windows服务,我想使用帐户用户名和密码以编程方式解锁工作站.
本文https://technet.microsoft.com/en-us/library/dn751047(v=ws.11).aspx解释了Windows上的登录验证工作流程,如下图所示:

如上所述,在步骤5,用户将凭证输入到登录UI中.我想要实现的是让Windows服务输入凭据并让winlogon执行登录.
没有winlogon API来实现这一目标.如在其他问题中所见,使用winapi LogonUser函数成功执行身份验证并返回令牌,但它不会切换到应用程序桌面,并且Logon UI仍保留在屏幕上.
大多数文章和SO答案暗示了凭证提供者,但所有凭据提供者样本都需要用户与Logon UI进行交互.
更新:我看到一些用户还没有完全理解这个问题,并提出了对我的案例无用的解决方法.我正在尝试实现的工作流程如下:
目前,我有兴趣制定第4步和第4.1步.
有没有办法,没有使用DLL注入,服务,诸如此类,使用.net解锁本地计算机?Windows用户名和密码可供我的程序使用.
可能重复:以
编程方式解锁Windows
我正在编写一个可锁定并解锁用户PC的应用程序.锁定机器相对简单.然而解锁对我来说只是简单的黑魔法......
让我们假设,在一些事件之后(例如计时器达到30分钟标记)我的应用程序强制我的PC解锁.
我想用提供的密码解锁最新用户(锁定机器的用户).我知道,你不应该给任何人你的密码,但毕竟 - 我正在写那个程序:)
Sssso ...有什么提示从哪里开始?