中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]后台执行开机30秒自动关机、取消任务
作者:
标题: [求助]后台执行开机30秒自动关机、取消任务 上一主题 | 下一主题
adamson
新手上路





积分 0
发帖 2
注册 2008-12-13
状态 离线
『楼 主』:  [求助]后台执行开机30秒自动关机、取消任务

我想做两个脚本
1。在后台执行 开机30秒自动关机的脚本。
2。需要一个可以取消任务的脚本。
谢谢各位大侠了!~!~

adamson148@163.com
如果可以的话  发到我的邮箱里~!谢谢哈!~

───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-12-14]在帖子标题中增加搜索关键字
说明:原标题"求脚本!~大侠速度来帮忙哈!~3Q啦!~"不利于论坛搜索
处罚:论坛新人免于积分处罚
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-12-14 at 18:02 ]

2008-12-14 12:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
adamson
新手上路





积分 0
发帖 2
注册 2008-12-13
状态 离线
『第 2 楼』:  

我晕  为什么没人帮忙呢?

求求各位大侠了!~

2008-12-14 13:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 3 楼』:  

好简单的,建议你自己研究一下。

延时30秒可以用 ping 127.1 -n 30 ,精度一般,不过也差不多了。

自动关机可以用 shutdown /f /s

如何在后台隐藏运行,你可以在本论坛搜索相关帖子,很多用VBS实现的。

如何开机启动该任务,可以放在启动菜单,也可以用reg写注册表run项。

取消的话,可以用 TASKKILL /IM CMD.EXE ,直接终止CMD就行了。、


自己动手,丰衣足食

2008-12-15 17:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
okzhsh01
初级用户





积分 61
发帖 45
注册 2008-7-11
状态 离线
『第 4 楼』:  

shutdown -s -t 30
shutdown -a

2008-12-15 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by okzhsh01 at 2008-12-15 10:26 PM:
shutdown -s -t 30
shutdown -a

shutdown -s -t 30
会有窗口提示30秒关机的,估计楼主想做到无提示关机。不然也不会搞的那么神秘了。呵呵。

2008-12-16 11:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhupcl
新手上路





积分 0
发帖 3
注册 2008-12-16
状态 离线
『第 6 楼』:  

积分太低啦,很多看不到亚

2009-1-5 21:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 6楼

Q: 怎样获得积分?
A: 发新话题和回复都可以获得积分,具体规则可在每个版块底部查看;精彩的新话题和回复,也可能被他人加分;在技术版块灌水、挖坟等,则可能被他人扣分。



2009-1-5 21:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 8 楼』:  

以前曾经想过限制学员开机,最后不了了之,谁有空天天蹲在那搞这个,哈.没联网的机房就是烦
更改密码方案

我们新的母盘每个系统都内置两套帐号,
用户名Administrator 密码onlyedu 用于系统管理用
用户名Onlyit 密码为空          用于学生教学用      
这套更改密码方案,将通过在下课时间由教师机向所有的学生机通过psexec来远程执行更改用户密码,然后来锁定学生端。学生需要上机时将要去办公室取得密码方可登录。

以下是个简单的范例

更改学生端密码.cmd
-----------------------------
for /f "tokens=1,2 delims=/ " %%a in (password.txt) do @psexec \\%%a -u administrator -p onlyedu –c -d run.cmd %%b
-----------------------------

Run.cmd
--------------------------------
net user onlyit "%1"
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
----------------------------------

Password.txt
------------------------------
192.168.1.3/123456
192.168.1.8/fsdaf
-------------------------------
我们通过for语法对密码本文件password.txt通过”/”分隔符分别取得tokens=1也即IP%a部分,tokens2也即新密码%b部分。然后通过psexec远程上传run.cmd在学生端执行net user onlyit “%1”此%1是批处理默认的参数处理方式,%0代表批处理自身%1-%9则是延续的参数,此%1是由%b参数传递过来,然后通过rundll32命令来锁定学生端。如果他们想上机就需要到办公室来取得密码。
为了避免文件处理麻烦要求password.txt是由IP后面紧跟/再跟连续的密码注意不能留空,比如下面都是错误的。一个是密码带空格一个密码接尾留空。
192.168.1.3/12 21
192.168.1.3/12

其它注意问题,
1,        保证网络畅通,需要禁用网卡或者用自动IP配置
2,        将对lusrmgr.msc nusrmgr.msc以及相应的建立新用户的程序对onlyit用户取消权限
3,        配置自动删除学员新建的任何新用户脚本

以上只是简单的方案实现,更多的细节问题需要在实施过程中进行总结。

计划任务关机方案
这次我们来讲讲强制计划关机的可执行性,这份文档偶把它定为绝密,并不是这文档有多高深,而是应了那句点破不值钱的道理。因为前期在执行对魔兽游戏采用防火墙方式封禁时就有学员采用开启注册表项和停止windows防火墙的方法导致失效。而我们这次用到的计划任务同样也是个易被摧毁的方案,所以没必要的话不需要告诉任何其它人我们是如何实施的。

我们的步骤是在用户登录阶段确保计划任务正常运行,然后在上课时悄悄的同步系统时间,在17:15-18:15分强制关机,而后的时间段可以正常开机

1.        确保计划任务服务运行
2.        常见计划任务类型
3.        同步系统时间
4.        在17:15-18:15 强制下机
5.        加强安全设定

1.        确保计划任务服务运行
首先我们在组策略用户登录设置加载Bshedule.cmd来确保计划任务已经在运行中。
Bschedule.cmd
---------------------------------
%systemroot%\system32\sc.exe config Schedule start= AUTO
%systemroot%\system32\sc.exe start Schedule
----------------------------------
2.        常见计划任务类型
MINUTE,    分钟
HOURLY,    小时
DAILY,      每日
WEEKLY,    每星期
MONTHLY,   每月
ONCE,       一次
ONSTART,    开机时
ONLOGON,   用户登录时
ONIDLE.     空闲时

3.同步系统时间
Autosyntime.cmd 这个东东用来建立一个ONIDLE类型的计划任务,必要的话可以将所有学生机更改时间的权限去除,这样只要网络通,我们只要将教师机的时间较准,所有的机器都会自动和教师机的时间保持同步。
---------------------------------------
SCHTASKS /delete /tn autosyntime /f
SCHTASKS /create /RU onlyit /RP "" /SC ONIDLE /I 1 /TN autosyntime /TR "c:\windows\system32\net.exe time \\teacher /set /y"
-------------------------------------------

4.在17:15-18:15 强制下机
在测试过程最最理想的方法是在17:15时生成一个onlogon类型的计划任务,这样只要用户一登录就马上注销,但是这种方法有几种弊端,
a.        它登录时必须以用户身份登录(onlyit)
b.        无法对其实施NTFS权限达不到控制面板隐藏的目的
c.        由于是个onlogon类型,单机环境下就需要另外设置一个今天18:16-明天17:14而且每分钟重复的计划删除才能确保正常登录。放弃

来实际测试中这里原先是想用注销方式的,因为这种方式至少在突发情况中电脑还是在欢迎界面我们还有别的方法来解除计划任务,但是测试过的shutdown,rundll32,logou等程序都得在当前用户状态才能正常注销,这意味着我们必须用当前登录用户的帐号才能执行计划任务,我们无法控制那些学员自行建立的帐户。那就暂时用shutdown –s –t 900 –c “关机”。


Forcelogout.cmd xp下的命令行参数并不能满足我们的需求,xp下的schtasks不支持2003下的/ET参数设置持续时间,到时候只能通过拷贝的方式来实施,这样我们就设置了一个名为forcelogout的计划任务它会在每天的17:15:00每隔一分钟执行一次关机
--------------------------
SCHTASKS /delete /tn forcelogout /f
SCHTASKS /create /RU “” /RP onlyedu /SC MINUTE /MO 1 /TN forcelogout /TR " shutdown –s –t 900 –c  "关机"" /ST 17:15:00 /SD 2000/01/01
---------------------------

5.加强安全设定
a.计划任务服务被停止          ^此种方式下只能通过psexec来远程保证
b.系统时间不正确(单机情况下)^麻烦估计只有调整BIOS时间设定
c.control schedtasks 高级/查看日志 ^hidlog.cmd,拒绝onlyit用户查看计划任务日志
----------------------------------------
sc stop schedule
REM ping做延时处理保证服务正确停止
ping -l -n 4 127.0.0.1>nul
del %systemroot%\schedlgu.txt /q
REM 下面两步保证生成schedlgu.txt
sc start schedule
sc stop schedule
REM 然后给schedlgu.txt文件设置权限拒绝当前用户onlyit的访问
cacls %systemroot%\schedlgu.txt /e /d onlyit
sc start schedule
---------------------------------------------------
d.禁止查看远程计算机共享里的任务计划 ^hideschtasks.reg.
---------
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}]
---------
e.禁止onlyit用户访问schtasks命令
cacls %systemroot%\system32\schtasks.exe /e /d onlyit
f.禁止onlyit帐号查看计划任务设定,这样可以达到在控制面板隐藏
cacls %systemroot%\tasks\autosyntime.job /e /d onlyit

暂时这样吧,大家还要考虑一下像105平时正常但是在星期天13:00-21:00要怎么解决,以及突然事件时如何解锁

更优的注销方案
前期的强制性下机方案由于shutdown有很多不可操作性,它的-s强制关机可以在所有用户下执行,但是如果遇到突发情况我们管理员自身也没法解除,而它的-l强制注销同样因为需要在登录用户的帐号下才可以执行。

这次我们使用net user /times参数来设置用户可登录时间
net user onlyit "" /times:monday-friday,8AM-5PM,6PM-10PM;saturday-sunday,8AM-10PM

可允许的登录小时数     星期日 上午 08:00 - 下午 10:00
                       星期一 上午 08:00 - 下午 05:00
                       星期一 下午 06:00 - 下午 10:00
                       星期二 上午 08:00 - 下午 05:00
                       星期二 下午 06:00 - 下午 10:00
                       星期三 上午 08:00 - 下午 05:00
                       星期三 下午 06:00 - 下午 10:00
                       星期四 上午 08:00 - 下午 05:00
                       星期四 下午 06:00 - 下午 10:00
                       星期五 上午 08:00 - 下午 05:00
                       星期五 下午 06:00 - 下午 10:00
                       星期六 上午 08:00 - 下午 10:00

这样我们就设置好了onlyit用户在每天具体可登录的时间段,比如星期一那天,用户可以在08:00-17:00上课时间内登录,然后只要用户没有注销在17:00以后的时间学生仍然可正常使用计算机,然后我们需要在17:15运行一个计划任务

Lock_workstation.cmd 锁定控制台,在17:00-18:00用户无法登录这样将导致用户无法登录
SCHTASKS /delete /tn Lock_workstation /f
SCHTASKS /create /RU "" /RP onlyedu /SC MINUTE /MO 1 /TN Lock_workstation /TR "%windir%\System32\rundll32.exe user32.dll,LockWorkStation" /ST 17:15:00 /SD 2000/01/01
这样比前期的shutdown –l方案好点的地方就是在此种状态下我们可以保留学员的作业,但是解锁方面仍然是需要psexec进行远程更改时间的。


参考文档
巧用net user命令限制用户登录电脑




http://dato.ys168.com
google search bot
http://dato.minidns.net/
2009-1-7 20:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: