我正在尝试让一个非常简单的批处理脚本在我的 Windows 2008 Server (R2) 系统启动时运行。我已经通过运行将脚本添加到本地组策略中的“启动脚本” ,并且在我运行时gpedit.msc
看到了下面列出的脚本,但脚本没有被执行。即使在重新启动后, “上次执行”列也是空的,并且永远不会创建应该由脚本创建的文件。Windows Settings/Scripts (Startup/Shutdown)/Startup
rsop.msc
rsop
目前,脚本的全部内容是:
rem Check if this script is running.
date /t > c:\temp\flag
目标目录 ( c:\temp
) 存在。该脚本称为c:\scripts\startup.bat
,如果我手动运行它,它可以正常工作。
您应该获取 psexec 的副本并运行
psexec -s path\to\script.bat
. 这将把它作为系统运行。这是比以登录用户身份运行它更准确的手动测试,因为启动脚本以 SYSTEM 身份运行。检查注册表项 hklm\software\microsoft\windows\currentversion\run
如果还没有的话,你可以在那里添加你的脚本
http://www.akadia.com/services/windows_registry.html
否则检查文件夹的权限以确保系统帐户具有写入权限
为了让它为我工作(在 Windows Server 2012 上被授予),我必须执行以下操作:
gpedit.msc
,转到计算机配置 > Windows 设置 > 脚本并双击Startup
Show Files
并粘贴快捷方式到我的脚本Add
并Browse
选择您的快捷方式。OK
并重新启动。快捷方式的粘贴是关键。浏览到 Scripts/Startup 文件夹之外的位置导致无法正常工作。