繁体   English   中英

在一天的特定时间重新启动Windows计算机并使用Python自动登录

[英]Reboot windows machines at a certain time of day and automatically login with Python

我知道如何远程重启机器,这是最简单的部分。 但是,问题的复杂性在于尝试设置以下内容。 我想控制网络上的机器以供下班后使用,这样当用户注销并回家或关闭他们的计算机时,无论如何,python或某些python + windows组合都可以重启他们的机器(为了清洁)并自动登录,运行一个晚上的过程,然后在早上,停止说过程并重新启动机器,以便用户可以像平常一样轻松登录。

我环顾四周,没有太多运气,虽然看起来人们可以通过更改注册表来做到这一点。 这听起来像一个粗略的想法,每天修改注册表。 有更容易的方法吗?

您可能想要考虑运行您正在考虑作为Windows服务的任何程序,除非您绝对需要桌面。 关于这一点有几个问题,例如这里这里 ,以及关于活动状态的食谱。 这并不需要启动或登录计算机。

还总是可以选择计划任务,什么不可以。 这实际上可以通过Python以编程方式完成,例如,如本博文中所述

至于关闭电源的电源,虽然我从来没有做过任何事情,但我知道Windows支持局域网唤醒功能,似乎有一些很好的资源 ,包括ActiveState上配方

如果您需要一个桌面来运行您的程序,我认为您没有其他选择,只能弄乱注册表以允许自动登录,因为我不相信Window的GINA可以以任何形式或形式编写脚本。

除了注册表之外,我想不出任何方法可以严格按照你的想法做到最好,至少在没有更严厉的措施的情况下也是如此。 但是进行这种注册表修改并不是什么大问题; 只需更改自动登录用户名/密码并重新启动计算机即可。 要在用户注销时重新启动计算机,请为其提供“注销”选项,该选项实际上会重新启动而不是注销; 我见过其他地方那样做。

(编辑)仅供参考:对于注册表编辑,Windows有一个REG命令,如果您决定使用该路由,它将非常有用。(/ edit)

另外,你想尝试运行什么样的过程? 如果它不是一个需要你的互动的GUI应用程序,你不必经历任何巨大的痛苦; 只需远程运行应用程序。 在我的工作中,我们使用psexec非常简单地完成它,并且我还创建了远程运行代码的C ++程序。 这并不困难,我这样做的方法是让C ++调用WinAPI函数远程注册远程PC上的服务并启动它,然后该服务执行我想做的任何事情(本身,或作为启动其他事情的临时点) ),然后取消注册。 我只使用Python来处理简单的网页,所以我不确定它对访问所需的DLL有什么样的支持,但是如果能够做到这一点,你仍然可以在这里使用Python。

或者甚至更好,如果您不需要远程执行此操作但只是希望每晚完成此操作,您可以使用Windows调度程序运行您希望在夜间运行的任何应用程序。 您甚至可以以编程方式执行此操作,因为有几个Windows命令:一个是“at”命令,我现在不记得另一个是什么,但只是一点点谷歌搜索应该找到它。

谢谢你的回复。 为了更清楚我正在做什么,我有一个程序在启动时自动启动,因此登录将是首选。 我正在编写一个渲染农场的经理,用于工作,这将占用我们的工作人员在白天使用的所有机器,并在晚上将它们转换为渲染服务器(例如,当他们注销一段时间时)。

我不确定我是否一定需要GUI应用程序,但计算机需要启动并登录才能启动执行渲染的服务器应用程序,我不确定是否可以在不登录的情况下完成。我是什么意思我需要运行的是Autodesk的Backburner Server.exe

也许这可以在不需要专门登录的情况下运行,但我不熟悉这种性质的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM