у меня есть пакетный файл (ниже), который прекрасно работает, однако, когда я создал bat файл в Планировщик заданий не работает. Планировщик задач действительно успешно выполняет задачу, поэтому я предполагаю, что это связано с разрешениями для администратора в отношении .файл EXE. Я уже убедился, что у администратора есть разрешение в параметрах локальной безопасности на "вход в систему как пакетное задание", и я убедился, что администратор имеет полный контроль над всей папкой.exe содержится в. Когда я тестирую пакетный файл вручную, и он работает, я вошел в систему как администратор.
EDIT: резюме вопросов и ответов в комментариях:
- M: - сетевой диск. Он физически расположен на этом же сервере, но в соответствии с требованиями программы должна использоваться сетевая буква диска.
- переместил файл bat в C: в теории, что наличие его на рабочем столе может быть проблемой: никаких изменений.
- когда exe запускается, графический интерфейс пользователя должен запуск. Это происходит, когда bat запускается вручную, но графический интерфейс не запускается при использовании диспетчера задач. Остальная часть летучей мыши работает по назначению. На разработчика программного обеспечения, gui должен быть в состоянии работать даже из Диспетчера задач, и они не видели это поведение раньше.
EDIT 2: поэтому я подтвердил, что проблема в том, что графический интерфейс должен запускаться вопреки ожиданиям. Я могу заставить задачу работать, изменив на Run only when user is logged on
, что приводит к появлению пользовательского интерфейса. Однако, так как это сервер, и задача выполняется в предрассветные часы утра, обычно нет пользователя, вошедшего в систему. Есть ли способ заставить пользователя входить и выключаться в определенное время? Или другое решение, отличное от того, чтобы всегда оставлять пользователя в системе?
пакетный файл (переработанный):
netsh interface set interface "Local Area Connection 2" DISABLED
iisreset /stop
timeout /t 120
iisreset /start
netsh interface set interface "Local Area Connection 2" ENABLED
start /d "M:CBSW" optimize.exe T
экспортированный XML из задачи в планировщике задач (revise:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2012-01-10T09:42:01.9781872</Date>
<Author>DOMAINAdministrator</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2012-01-10T02:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByWeek>
<DaysOfWeek>
<Monday />
<Thursday />
</DaysOfWeek>
<WeeksInterval>1</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>DOMAINAdministrator</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
<RestartOnFailure>
<Interval>PT15M</Interval>
<Count>3</Count>
</RestartOnFailure>
</Settings>
<Actions Context="Author">
<Exec>
<Command>E:IISRESET+Optimize.bat</Command>
<WorkingDirectory>E:DataOptimize</WorkingDirectory>
</Exec>
</Actions>
</Task>