分享

给Win2003的服务配置程序sc.exe弄晕了1小时

 instl 2014-10-23
    缘由:我在2003系统上面安装一个网站,是日期限制的,过期了就不能使用了。
对策:想锁定日期,使得试用时间长一点。等到专款下来时候再购买正版(因为锁定日期后这个网站所有的操作,日期都是不变的,因此这是最笨最无奈的试用方法,呵呵)
方法一:调整WIN2003日期到2011-03-08,网站能正常工作。
失败一:因为win2003是建立在win2008r2里面的hyperV虚拟机里面的,hyperV有个很致命的特点,它会自动同步win2008的时间和日期到虚拟机里面去,因此每次启动物理服务器后,日期都会被调整到正确的日期,破解方法一失效。
方法二:写了个setdate.bat,里面只有一行指令date 2011-03-08,并且放到win2003的启动目录里面
失败二:系统启动后,日期确实被调整到2011-03-08了,可是网站并不能工作。原因是网站的服务是World Wide Web Publishing Service先于启动目录启动,因此失败。
方法三:参考网上一篇文章,在HKEY_CURRENT_USER\Software\Microsoft\Command Processor里面增加一个AutoRun项目,指向D:\setdate.bat,文章说可以在win2003启动之前执行这个bat的。
失败三:试用结果,这个仍然无效,连日期都无法改变呢。
方法四:下载Quick Batch File Compiler,把那个调整日期的BAT文件转化到EXE文件,然后再参考方法二、三。
失败四:结果和上面是一样的:-)
方法五:用instsrv.exe把setdate.exe放到服务程序里面去,这样就可以早启动了吧。因为instsrv比较难找,干脆用了手上的一个微软的服务配置工具(原来的名字忘记了),增加服务setdate成功。
失败五:网站仍然提示过期。
方法六:用服务配置指令SC.EXE把上面那个服务增加到World Wide Web Publishing Service服务的依赖清单里面去,这样World Wide Web Publishing Service启动时,必须先启动setdate了吧。就在这里,我居然折腾了一个小时,靠。先用SC QC W3SVC查询出来它原来的依赖关系,发现只有三个RPCSS/HTTPFilter/IISADMIN,因此刚开始下指令sc config W3SVC depend=setdate,以为可以增加一个setdate依赖项,结果死活提示指令错误,找啊找试啊试……一个小时过去了,总算发现在等号后面缺少了一个空格!加上一个空格,发现SC居然是用setdate替换了上面全部的依赖项目,因此赶紧sc config W3SVC depend= setdate/prcss/httpfilter/iisadmin执行,这下子更改为3个依赖项目了。重新启动,发现仍然有错,又晕了好长时间,发现sc居然是分大小写的
最后sc config W3SVC depend= setdate/RPCSS/HTTPFilter/IISADMIN。
错误六:setdate服务没有及时响应启动或控制请求。赶紧上网查询一下看看,结果令人失望:一般的EXE文件如果作为服务程序运行,和管理器没有沟通,因此都会类似这样报错。
最终方法:Magic Starter封装setdate.exe,作为服务执行。
执行指令sc config W3SVC depend= MsService/RPCSS/HTTPFilter/IISADMIN建立依赖关系,重新启动,搞定!
做个记录便于后人查找!

最理想的方法:编写一个服务程序,利用定时器刷新日期。实际上我参考了网上的一个定时beep的服务程序,不过很郁闷就是,这个程序可以在XP下面执行,但是无法在2003下面执行,所以放弃之……


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多