在没有用户登录的情况下在Windows启动时运行脚本
这是一台Windows 2003(或更高版本)机器,每天早上都会打开,但几个小时后才有人登录 我想使用这段时间运行备份脚本c:\script\backup.cmd 机器启动后,如何在无人看管的情况下启动 我尝试了2个注册表项,但这导致脚本在用户登录后运行(太晚了):在没有用户登录的情况下在Windows启动时运行脚本,windows,cron,scheduled-tasks,startup,Windows,Cron,Scheduled Tasks,Startup,这是一台Windows 2003(或更高版本)机器,每天早上都会打开,但几个小时后才有人登录 我想使用这段时间运行备份脚本c:\script\backup.cmd 机器启动后,如何在无人看管的情况下启动 我尝试了2个注册表项,但这导致脚本在用户登录后运行(太晚了): 最后,我使用了Windows TaskScheduler,谁有这样的选项,但我想知道是否还有其他可能性?您已经概述了一个很好的解决方案: 将计划任务设置为在启动时运行,并允许作业在用户未登录时运行。您可以使用组策略gpedit.ms
最后,我使用了Windows TaskScheduler,谁有这样的选项,但我想知道是否还有其他可能性?您已经概述了一个很好的解决方案:
将计划任务设置为在启动时运行,并允许作业在用户未登录时运行。您可以使用组策略gpedit.msc在系统启动时运行脚本,您这样做的方式对我来说似乎很好;但是,如果您需要另一种方法,那么在机器启动时就会启动服务,这样您就可以编写一个服务来检测这是否是新的一天(以允许重新启动),然后运行备份
如果I将此作为一项服务来执行,我会使用TCL,因为我知道并喜欢它,它有一个扩展,允许您将脚本作为一项服务来运行。其他脚本语言可能也有类似的功能。如果您使用的是Active Directory,就有。如果可以将计算机隔离到其自己的OU或使用WMI筛选,则可以为计算机分配具有启动脚本的GPO。这将确保即使有人通过安全模式进入并禁用任务计划程序,在启动和连接到域时,脚本也会运行。简短回答:GPEDIT.MSC(启动、运行、GPEDIT.MSC) Windows 2000及更高版本[1]在策略编辑器中提供计算机启动脚本集合:
- 计算机设置->Windows设置->脚本(启动/关闭)
[1] Windows XP、2003、Vista/2008、Windows 7/2008R2、Windows 8/2012、Windows 8.1/2012R2、Windows 10/Windows Server 2016。一切。但是NT4没有 谢谢,这看起来很有趣。当有一天我不得不写一个服务时,我会看看TCl/Twapit这看起来又快又简单。进程将以哪个用户的身份运行?LocalSystem`?是的,这工作正常。但是我想禁用任务调度程序,所以我正在寻找一种不同的方法。谢谢,这是一件很好的事情,我在AD中有一些机器,有一天会尝试。谢谢,很明显,您从任何角度回答了这个问题。
计算机设置/配置-->Windows设置-->脚本
这可以通过打开本地组策略编辑器找到,因为没有人解释如何访问此窗口。@Trissank,我有一个Windows 2K,我们在其中克隆它(vmware)并将其与网络隔离(断开网络适配器),对我们的数据库进行了一些测试。但是,本地GPO启动/关闭脚本不再启动。本地GPO启动脚本依赖于可用的活动nertwork?等等,你有Windows 2000计算机?它们有时是网络连接的?这在2017年是一个非常非常糟糕的组合。无论如何,我很确定我曾经使用过在Windows 2000的工作组机器上使用此系统…不知道当网络断开连接时它会失败的任何具体原因,除非那里有根本性的错误-例如特定于脚本本身,或者它存储在Sysvol上的AD/而不是本地硬盘驱动器上,等等。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices