这是一台运行 Windows 2003(或更高版本)的机器,每天早上开机,但直到几个小时后才有人登录。
我想利用中间的时间运行备份脚本c:\script\backup.cmd
机器启动后如何在无人值守的情况下启动它?
我尝试了 2 个注册表项,但这导致脚本在用户登录后运行(为时已晚):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
最后我使用了Windows TaskScheduler,谁有这样的选择,但我想知道是否还有另一种可能性?
最佳答案
简答: GPEDIT.MSC(开始、运行、GPEdit.msc)
Windows 2000 及更高版本 [1] 在策略编辑器中提供计算机Startup Scripts 集合:
在用户配置位中有一个等效的登录脚本区域(即在计算机启动后,当用户登录时)。
更长:
GPEDIT.MSC 是组策略编辑控制台,直接使用时针对本地计算机的本地组策略存储运行,因此它对于设置仅限本地的参数很有用。使用 Active Directory 时,类似的界面用于编辑 AD Forest 托管的组策略对象 (GPO),因此相同的设置可用于一组机器。
计算机启动脚本在计算机上下文中运行,即作为 LocalSystem,如您所述,因此它们通常不能访问需要特定用户或组成员工作。当域成员计算机访问网络资源时,它们通常(有异常(exception))使用其 MACHINENAME$ 帐户进行身份验证 - 这使您可以设置共享/NTFS 权限以允许计算机访问这些资源。
启动脚本 是一种在机器启动时让进程运行的快速简便的方法。
不过,计算机启动过程会受到运行程序所需时间的影响,因此您可能希望确保使用批处理文件中的 START 命令调用它,或者指定不等待可执行文件完成在您使用的任何脚本语言中。 (这里的关键点是:异步运行脚本,除非它很关键,或者不需要异步运行因为它总是没有时间。长 Boot = 不满意的用户)。
使用 Win32 服务是另一种选择 - 您可以使用资源工具包中的 SRVANY 实用程序来“服务化”几乎任何可执行文件。 VS.Net 2002 及更高版本还允许您直接构建托管服务。
Task Scheduler 在 Vista/2008 中变得多更强大,能够在启动时、空闲时和/或生成事件日志或某些特定事件时运行脚本满足其他条件:很酷!计划任务的可能优势是能够指定运行任务的用户帐户(如果这对您很重要)。
告诫编剧: http://support.microsoft.com/kb/256320
异步运行启动脚本: http://msdn.microsoft.com/en-us/library/ms811602.aspx
Vista 任务计划程序(新增功能): http://technet.microsoft.com/en-us/appcompat/aa906020.aspx
[1] Windows XP、2003、Vista/2008、Windows 7/2008R2、Windows 8/2012、Windows 8.1/2012R2、Windows 10/Windows Server 2016。一切。但是 NT4 没有!
关于windows - 在没有用户登录的情况下在 Windows 启动时运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/614766/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。
大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow