代码之家  ›  专栏  ›  技术社区  ›  Dan Cristoloveanu

以编程方式解锁Windows工作站

  •  15
  • Dan Cristoloveanu  · 技术社区  · 16 年前

    我想写一个小的应用程序,解锁工作站。把我需要的规范放得非常简单:有一个运行的exe,在一个定义的时间(比如说午夜)解锁工作站。 当然,应用程序知道登录帐户的用户和密码。

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

    我的目标是NT5操作系统。


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

    4 回复  |  直到 8 年前
        1
  •  9
  •   Platinum Azure    13 年前

    这样你就有了一个答案,而不是人们留下的答案,这可能是更好的评论。

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

    安韦,除了建议你有一个服务来做你想在电脑上做的任何工作,或者甚至远程连接到电脑来做你想做的工作之外,你还可以使用以下信息。(至于“代码例外”,你可以自己做)

    http://www.paralint.com/projects/aucun/ 是一个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

        2
  •  2
  •   Johan Bresler    16 年前

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

        3
  •  1
  •   VonC    16 年前

    只是为了增加一条线索(一个没有判断力的人), autoit (脚本Windows语言)可能有一个答案,如本线程中所述:

    How to unlock an Xp desktop

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

        4
  •  0
  •   zomf    13 年前

    对于我的情况,在断开终端会话后,我需要能够恢复控制台会话(我用触摸屏连接到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