我有一个运行计划任务的Windows Server 2008,主要是调用PHP文件的.bat文件.我在服务器上有2个用户,一个是Admin,另一个是Standard用户.
我使用标准用户使用事件查看器清除任务计划程序历史记录选项卡中的历史记录日志.现在它不再记录任何历史了.历史记录选项卡中的所有计划任务都不再具有历史记录.但是,上次运行结果返回0x0并且调度程序正常工作.
请指教.
我有一个发送电子邮件的PowerShell脚本.我想每1分钟自动执行一次该脚本.我怎么能用任务调度程序呢?
目前我已经创建了一个任务并提供了我的脚本路径.但该调度程序打开我的脚本,而不是执行.
在GitHub 上 共享了一个解决方法sudo hwclock -s
来重新同步 WSL 中的时钟,但是每次从睡眠/休眠状态恢复时都必须执行此操作。
clock windows-task-scheduler windows-subsystem-for-linux wsl-2
我正在尝试使用ProcessBuilder类通过Java启动外部进程,这很有用.目前正在使用命令运行:
new ProcessBuilder("java", "-jar", jarfile, args);
Run Code Online (Sandbox Code Playgroud)
我想做的就是这样,但要以低优先级开始这个过程.我的程序目前只在Windows上运行,因此我可以使用特定于窗口的解决方案.一些研究建议我使用"start"命令,但是当我尝试从Java执行此操作时,它会给出一个异常,说它是一个无法识别的命令(同样的命令可以从cmd.exe运行).
有没有人知道如何从Java启动进程(特定于Windows,如果需要),具有belownormal
优先级?
我正在尝试通过Windows任务调度程序设置重复的Python任务.
当我输入'python.exe'的路径并将脚本的路径作为参数提供给windows任务调度程序时,我取得了成功(见下面的截图)
但是,我希望能够选择运行脚本的特定虚拟环境.我对venv知之甚少,我通常通过打开cmd并在所需的虚拟环境目录中运行Scripts\activate.bat来使用它.
如何使用Windows任务调度程序完成"每24小时在venvxxx中运行任务x"?
我有一个带有用户界面的Windows应用程序,可以做一些事情......现在我的客户想要,当他按下电源按钮MyApplication运行之前,他强行输入用户名和密码!评论:该系统是Windows XP或Seven上的多用户.
反正有可能吗?
security windows-task-scheduler windows-7 windows-applications
在最新版本的 Windows 中通过任务计划程序启动任务时,如果任务是“无论用户是否登录都运行”,则该任务将不会交互运行 - 即它不会启动 UI。
作为参考,这是根据Microsoft 的说法,并在此SuperUser 问题和此StackOverflow 问题中突出显示:
您可以指定任务应该运行,即使计划运行任务的帐户在触发任务时未登录也是如此。为此,请选择标有“无论用户是否登录都运行”的单选按钮。如果选择此单选按钮,任务将不会交互运行。要使任务以交互方式运行,请选择“仅在用户登录时运行”单选按钮。
然而,我的问题是由此衍生的。
TaskScheduler 启动的任务是一个 Java 客户端应用程序,可以指示它运行进程 - 这些进程通过客户端应用程序中的 ProcessBuilder 运行。因此,该客户端应用程序被隐藏/不启动 UI 是可以的 - 事实上,没有 UI。
但是,如果如上所述通过 TaskScheduler 启动客户端应用程序以“无论用户是否登录都运行”,则客户端应用程序中由 ProcessBuilder 启动的任何进程也无法交互运行/无法显示 UI。这是一个问题,因为客户端启动的一些进程是 UI 应用程序。
我不确定为什么会出现这种情况,但实际上我正在尝试找出是否有解决方法 - 例如可以添加一些环境变量或属性来获得由(不可见)客户端启动的可见进程。
有什么想法吗?
我需要安排一个 PowerShell 任务,如下所示:
powershell.exe -file ..\Execute\execute.ps1
Run Code Online (Sandbox Code Playgroud)
我尝试将它分配给一个参数,$Argument
然后将其传递给schtasks
如下所示:
$Argument = "powershell.exe -file '..\Execute\execute.ps1'"
schtasks /create /tn "SOE_Checks" /tr $Argument /sc DAILY /st 05:00 /ru "System" /rl HIGHEST /f
Run Code Online (Sandbox Code Playgroud)
但是在运行上面的代码后,什么也没发生 - 虽然任务创建成功,但它似乎没有运行。
我也尝试将它分配给$Argument
没有引号,它有效,但我收到以下警告:
ERROR: Invalid syntax. Value expected for '/tr'.
Type "SCHTASKS /CREATE /?" for usage.
Run Code Online (Sandbox Code Playgroud)
谁能让我知道我在这里做错了什么?(我知道我可以使用 PowerShell 完成此操作,New-ScheduledTaskAction
但我希望它以这种方式工作)
只是想补充一点,如果我改变的文件路径的特定位置$Argument
这样的,$Argument = "powershell.exe -file 'C:\SOE\Execute\execute.ps1'"
,它工作正常,没有任何警告,但这并不理想。
我已经阅读了这篇文章,但它对我不起作用
windows powershell cmd scheduled-tasks windows-task-scheduler
我使用批处理脚本创建计划任务:
schtasks /Create /F /RL highest /SC onlogon /TR "C:\MyFile.exe" /TN "MyDescription"
Run Code Online (Sandbox Code Playgroud)
它在每次用户登录时完美地运行我的应用程序。但是,它会自动启用“如果任务运行时间超过”则停止任务“3 天”选项。我认为这是默认行为。
我的应用程序可能在服务器上运行,并且 3 天后不应退出。如何修改批处理脚本以便我的应用程序无限运行?
在网上查了很多天之后。我决定问我自己的问题。我做了一些挖掘并找到了一些方法来实现这一点,但我被困住了。我知道我必须更改登录类型并设置用户名,但它似乎不起作用。我尝试使用 salt.module.win_task.py 作为指导,但它仍然对我不起作用。这是我的代码(从别人那里借来的,我做了一些调整)
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()
root_folder = scheduler.GetFolder('\\')
task_def = scheduler.NewTask(0)
# Create trigger
start_time = datetime.datetime.now() + datetime.timedelta(minutes=30)
TASK_TRIGGER_TIME = 1
trigger = task_def.Triggers.Create(TASK_TRIGGER_TIME)
trigger.StartBoundary = start_time.isoformat()
# Create action
TASK_ACTION_EXEC = 0
action = task_def.Actions.Create(TASK_ACTION_EXEC)
action.ID = "TEST"
action.Path = "C:/test/test.bat"
action.Arguments = ''
action.WorkingDirectory = "C:/test/"
# Set parameters
task_def.RegistrationInfo.Description = 'Run test.bat'
task_def.Settings.Enabled = True
task_def.Settings.StopIfGoingOnBatteries = False
task_def.Settings.Hidden = False
task_def.Settings.startwhenavailable = True
task_def.Settings.DisallowStartIfOnBatteries = False
# Register task
# If task already …
Run Code Online (Sandbox Code Playgroud) windows ×3
java ×2
powershell ×2
batch-file ×1
clock ×1
cmd ×1
python ×1
python-3.x ×1
python-venv ×1
security ×1
win32com ×1
windows-7 ×1
windows-subsystem-for-linux ×1
wsl-2 ×1