【问题标题】:Unlock Windows workstation programmatically以编程方式解锁 Windows 工作站
【发布时间】:2010-09-15 12:15:55
【问题描述】:

我想编写一个解锁工作站的小应用程序。把我需要的规格说得很简单:有一个运行并在定义的时间(假设是午夜)解锁工作站的 exe。 应用程序当然知道登录帐户的用户名和密码。

我知道 LogonUser API 并尝试使用它但失败了。 有没有人有真正适用于这个问题的解决方案,代码摘录?

我的目标是 NT5 操作系统。


好吧,既然人们开始问是什么原因:我正在开发一个桌面共享应用程序,我想添加解锁工作站的功能。有一个非常小而简单的应用程序在定义的时间解锁车站是为了分离问题并避免集成细节。

【问题讨论】:

  • 为什么?你确定没有更好的方法来做你想做的事吗?
  • 这听起来是个非常糟糕的主意。这样做的目的是什么?可能有更好的解决方案...
  • 我很确定这是个坏主意,而且(我真的希望)也不可能。
  • 查看覆盖 GINA,但正如其他两个所说,这是一个非常糟糕的主意。你为什么要这样做,你可以在计算机上运行一个服务来做任何你想做的事情。
  • 您能否提出任何对您有用的建议?我处理了同样的问题,我发现这篇文章 (waynes-world-it.blogspot.com/2008/04/…) 很有趣。但是,它对我不起作用,因为应该以交互模式定期运行的目标应用程序(Rational Functional Tester)会检查桌面是否实际上(不是伪造的)解锁。

标签: windows security winapi


【解决方案1】:

这样你就有了答案,而不是人们留下答案,因为 cmets 可能会更好。

这当然是可能的,尽管很多人已经说过这并不明智,如果有人在电脑解锁时路过电脑会发生什么,他们要玩多久等等?

Anway,除了建议您有一项服务可以在计算机上做任何您想做的工作,或者甚至远程连接到计算机上做工作之外,您还可以让用户使用以下信息。 (至于'code excerts'你可以自己做)

http://www.paralint.com/projects/aucun/ 是一个 GINA 实现,即使其他人已经登录,它也可以授予您登录的权限。看看它可能是您正在寻找的东西,并且比在某个时间解锁工作站要安全得多。

作为替代方案,请考虑编写您自己的 GINA 实现,该实现将在预定时间进行解锁。

关于 GINA 的信息

http://msdn.microsoft.com/en-gb/magazine/cc163803.aspx

http://msdn.microsoft.com/en-us/magazine/cc163786.aspx

在您解锁桌面后,我很确定您会再次锁定它。

http://www.codeproject.com/win32/AntonioWinLock.asp

【讨论】:

  • @finnw:我同意这种语言。我对其进行了编辑以使其与职业无关,希望对 OP 没问题。不过,您应该可以删除您的 -1。
  • 另一个考虑:GINA 被认为是过时的。见msdn.microsoft.com/en-us/magazine/cc163489.aspx
【解决方案2】:

只是添加另一个线索(没有任何判断),autoit(一种脚本 Windows 语言)可能有答案,如该线程所述:

How to unlock an Xp desktop

我刚刚找到另一个scenario where one might want to unlock a desktop ;)

【讨论】:

    【解决方案3】:

    让您的应用程序作为服务运行,那么您不需要用户/密码,因为这是服务设置的。

    【讨论】:

    • 这不能回答问题。
    【解决方案4】:

    对于我的情况,我需要在断开终端会话后能够恢复控制台会话(我正在连接到带有触摸屏但没有键盘的 WinXPe 信息亭)。

    这是我发现可行的命令行解决方案。我没有关闭会话窗口以断开连接,而是使用以下行运行批处理文件。我的会话已关闭,控制台会话已解锁。

    • 在 WinXP 终端会话后自动解锁工作站

      tscon.exe 0 /dest:console
      
    • 对于 Windows Vista/7,控制台会话编号已从 0 更改为 1,因此您需要使用

      tscon.exe 1 /dest:console
      



    来源链接:http://arstechnica.com/civis/viewtopic.php?f=15&t=69113

    【讨论】:

      猜你喜欢
      • 2010-11-18
      • 2012-11-24
      • 2018-05-12
      • 2011-10-21
      • 1970-01-01
      • 2015-06-09
      • 2010-09-07
      • 1970-01-01
      • 2012-12-13
      相关资源
      最近更新 更多