Board logo

标题: [求助]关机时自动执行一些程序 [打印本页]

作者: orochix     时间: 2009-1-14 15:06    标题: [求助]关机时自动执行一些程序
想写一个批处理,让电脑关机时自动运行。但是我在组策略-WINDOWS设置-脚本启动关机里 关机那个文件夹下 文件复制进去后关机并不执行,非得要手动添加 添加进C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown 文件夹 他不能运行 有没有好的批处理?

作者: kyqm     时间: 2009-1-14 15:31
是用户配置-windows设置里面的

作者: orochix     时间: 2009-1-14 15:48
Originally posted by kyqm at 2009-1-14 15:31: 是用户配置-windows设置里面的
这不废话吗 我就想用个批处理自动加入

作者: exzzz     时间: 2009-1-14 17:18
系统组策略的东西,90%都可以在注册表找到,你用个regmon看看

作者: yishanju     时间: 2009-1-15 13:37
Originally posted by orochix at 2009-1-14 15:48: 这不废话吗 我就想用个批处理自动加入
什么叫废话 别人好心回复你的帖子就得到你这样的回复。

作者: kurt101     时间: 2009-1-17 14:38
这样的态度 54楼主。。

作者: kyqm     时间: 2009-1-17 14:50
Originally posted by orochix at 2009-1-14 03:48 PM: 这不废话吗 我就想用个批处理自动加入
算了,决定无视这个人的问题。

作者: 87373066     时间: 2009-1-17 19:27
虚心点,这里高人多

作者: Qtwdftxvt     时间: 2009-1-18 20:52
BS 楼主,说话注意礼貌,即使你是高手。

作者: pkto     时间: 2009-1-19 16:00
楼主固然没有礼貌,这是要批评的。但回答问题的,似乎也有些文不对题吧?不能够提供正解,也不用凑字数来攒积分吧?更何况楼主的提问十分明确:需要批处理解决。

作者: Makubes     时间: 2009-1-19 17:04
首先可以肯定这个在策略组上的操作会被写入注册表中。 那么你可以试着在策略组先添加一个,随便个名字和路径,像open0000,名字个性点,然后你再搜索注册表,搜索open0000,找到那个项或键,研究一下,用reg add 就可以咯。。 俺就是这样搞出许多操作注册表的bat 哈哈,偶真是天才~~~~~

作者: kyqm     时间: 2009-1-20 15:48
Originally posted by pkto at 2009-1-19 04:00 PM: 楼主固然没有礼貌,这是要批评的。但回答问题的,似乎也有些文不对题吧?不能够提供正解,也不用凑字数来攒积分吧?更何况楼主的提问十分明确:需要批处理解决。
你轻易作出判断说我是不能解决而是凑积分,这就莫名其妙了 没按照楼主的要求回复就不行? 那么按照你的理解,论坛里的求助帖应该都是2楼:1楼是问题,2楼是答案。 回答不了的都不能回复,否则就属于凑字赚积分。 荒谬! 楼主提到“文件复制进去后关机并不执行我是给他指出了除了批处理本身的原因之外,另一个可能导致出错的原因 倒是你的回复对楼主问题解决没任何帮助。完全是文不对题,搞不好还会引起骂战。 算了, 我不愿再说这事了。 偏离了楼主主题,没意思。 [ Last edited by kyqm on 2009-1-20 at 16:06 ]

作者: newxso     时间: 2009-1-21 15:51    标题: 批处理添加关机脚本
别在不相干的问题上花费心机,解决问题才是真道理: (测试成功,放心使用)
@echo off
::设置关机脚本路径及其参数(没有参数就空着)
set script=c:\test\a.bat
set arg=

set script=%script:\=\\%
attrib -h C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\scripts.ini 2>nul 1>nul

>C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\scripts.ini echo.
>>C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\scripts.ini (
echo [Shutdown]
echo 0CmdLine=%script%
echo 0Parameters=%arg%
)

attrib +h C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\scripts.ini

>shutdown.reg echo Windows Registry Editor Version 5.00
>>shutdown.reg (
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0]
echo "GPO-ID"="LocalGPO"
echo "SOM-ID"="Local"
echo "FileSysPath"="C:\\WINDOWS\\System32\\GroupPolicy\\Machine"
echo "DisplayName"="Local Group Policy"
echo "GPOName"="Local Group Policy"
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0]
echo "Script"="%script%"
echo "Parameters"="%arg%"
echo "ExecTime"=hex^(b^):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System\Scripts\Shutdown\0]
echo "GPO-ID"="LocalGPO"
echo "SOM-ID"="Local"
echo "FileSysPath"="C:\\WINDOWS\\System32\\GroupPolicy\\Machine"
echo "DisplayName"="Local Group Policy"
echo "GPOName"="Local Group Policy"
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System\Scripts\Shutdown\0\0]
echo "Script"="%script%"
echo "Parameters"="%arg%"
echo "ExecTime"=hex^(b^):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
)
regedit /s shutdown.reg
del shutdown.reg
如果不给出关机脚本的路径,如:set script=a.bat ,表示直接启动 C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown 目录下的 a.bat 脚本。
@echo off
set script=c:\test\a.bat
set arg=

set script=%script:\=\\%
attrib -h C:\WINDOWS\System32\GroupPolicy\User\Scripts\scripts.ini 2>nul 1>nul

>C:\WINDOWS\System32\GroupPolicy\User\Scripts\scripts.ini echo.
>>C:\WINDOWS\System32\GroupPolicy\User\Scripts\scripts.ini (
echo [Logoff]
echo 0CmdLine=%script%
echo 0Parameters=%arg%
)

attrib +h C:\WINDOWS\System32\GroupPolicy\User\Scripts\scripts.ini

>shutdown.reg echo Windows Registry Editor Version 5.00
>>shutdown.reg (
echo.
echo [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logoff\0]
echo "GPO-ID"="LocalGPO"
echo "SOM-ID"="Local"
echo "FileSysPath"="C:\\WINDOWS\\System32\\GroupPolicy\\User"
echo "DisplayName"="Local Group Policy"
echo "GPOName"="Local Group Policy"
echo.
echo [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logoff\0\0]
echo "Script"="%script%"
echo "Parameters"="%arg%"
echo "ExecTime"=hex^(b^):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\S-1-5-21-515967899-839522115-1343024091-500\Scripts\Logoff\0]
echo "GPO-ID"="LocalGPO"
echo "SOM-ID"="Local"
echo "FileSysPath"="C:\\WINDOWS\\System32\\GroupPolicy\\User"
echo "DisplayName"="Local Group Policy"
echo "GPOName"="Local Group Policy"
echo.
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\S-1-5-21-515967899-839522115-1343024091-500\Scripts\Logoff\0\0]
echo "Script"="%script%"
echo "Parameters"="%arg%"
echo "ExecTime"=hex^(b^):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
)
regedit /s shutdown.reg
del shutdown.reg
对于开机脚本和登录脚本的添加,可以参考上面内容修改(提示:开机脚本关键字Startup,登录脚本关键字Logon)。 [ Last edited by newxso on 2009-4-2 at 13:02 ]

作者: 523066680     时间: 2009-1-21 22:23
我没看代码, 就冲13楼第一句话 我给加分!

作者: czceo     时间: 2009-2-2 15:40
14我也给你加1分!