我在 Windows Server 2012 R2 上有一个全天候运行的应用程序,它与单独的客户端应用程序共享信息。服务器应用程序仅在关闭时将其所有数据保存到文件中,因此我设置了一个计划任务,该任务会触发批处理文件来关闭它,复制文件,然后重新启动它。
该批次看起来像这样:
taskkill /im myprogram.exe /f
复制“C:\programfiles\myprogram\data.file”“C:\backups\data.file”
runas /savecred /user:Administrator "C:\programfiles\myprogram.exe"
当没有人登录服务器时,应用程序以 SYSTEM 身份启动,这会产生两个问题:
- 1)该 GUI 是隐藏的,因此当有人登录进行更改时,他们必须以管理员身份重新启动应用程序才能与其交互。
- 2)客户端应用程序无法与其正确通信,有时甚至看不到它。
我尝试将计划任务设置为以管理员和系统身份运行,在这两种情况下,我都保留了以最高权限运行未選擇。
除了常规备份之外,还可以执行类似的任务,在启动时运行并在启动应用程序之前恢复最新的备份(这可以防止应用程序在系统崩溃时以损坏的数据库启动)。这两个任务都设置了相同的凭据和权限。
是否需要设置其他选项以确保应用程序始终以管理员身份启动?
答案1
你离开有什么原因吗?以最高权限运行未选中?因为这可以保证您的任务确实以管理权限运行。