PDA

Показать полную графическую версию : Sheduler не запускает cmd по расписанию.


MioZo
24-08-2011, 15:28
ОС Windows XP SP3, ПК состоит в домене. Пользователь создал CMD (находится на рабочем). Создал задачу в sheduler. Расписание выполнения указано.
Настройки (во вложении). Когда нажимаешь правой кнопкой - выполнить. Работает. В указанное в расписании время запуск не производится. Ошибки тоже нет.
Возможно, существует решение (на форуме предварительно искал).
Спасибо.

Petya V4sechkin
24-08-2011, 17:54
[решено] Не запускаются автоматически командные файлы из Планировщика заданий (http://forum.oszone.net/thread-108239.html)
Не работает bat в планировщике заданий (http://forum.oszone.net/thread-205132.html)
Scheduled task won't run .bat file (http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/d47d116e-10b9-44f0-9a30-7406c86c2fbe)


В указанное в расписании время запуск не производится.
Как определили?

Ошибки тоже нет.
Планировщик -> меню Дополнительно -> Просмотреть журнал -> там что?

MioZo
31-08-2011, 13:38
Первые два поста изучал, третий анализирую (перевожу переводчиком).

Приведу содержимое батника 2007.cmd:
taskkill /IM outlook.exe
start /D"%ProgramFiles%\Microsoft Office\Office12" OUTLOOK.EXE /autorun AutoSendMail

Что в указанное время запуск не производится определил по результату (не создается исходящее сообщение в Outlook, создаваемое макросом AutoSendMail).

Фрагмент журнала:
"User(AutoSend)..job" (2007.cmd)
Закончилось в 31.08.2011 17:28:06
Итог: Задание завершено с кодом (0).
[ ***** Самая последняя запись находится над этой строкой ***** ]

Спасибо за наводки, изучаю проблему, пока не решил.

Petya V4sechkin
31-08-2011, 15:10
MioZo, содержимое AutoSendMail выложите?

MioZo
01-09-2011, 06:39
Function GetAttach()
Dim strPath
Dim arrFiles
strPath = "C:\test"
Set arrFiles = CreateObject("Shell.Application").NameSpace(strPath).Items
arrFiles.Filter 64, "*.xls"
Select Case arrFiles.Count
Case 0
MsgBox "Отчет для отправки не найден.", 48, "Отправка файла"
WScript.Quit 1
Case 1
GetAttach = arrFiles.Item(0).Path
Case Else
MsgBox "Найдено несколько файлов.", 48, "Отправка файла"
WScript.Quit 1
End Select
End Function

Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function

Sub AutoSendMail()
' Working in Office 2000-2010
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim SigString As String
Dim Signature As String

Set OutApp = CreateObject("Outlook.Application")
Outlook.ActiveWindow.WindowState = 1
Set OutMail = OutApp.CreateItem(0)

strbody = "<H3><B></B></H3>" & _
"Суточный отчет.<br>" & _
"Подразделение.<br>

SigString = "C:\Documents and Settings\" & Environ("username") & _
"\Application Data\Microsoft\Signatures\UserName.htm"

If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)

Else
Signature = ""
End If

On Error Resume Next
With OutMail
.To = "adress@domain"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.HTMLBody = strbody & "<br><br>" & Signature
.Attachments.Add GetAttach
.Send 'or use .Display
End With

On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

severagent007
01-09-2011, 14:19
Учётка должна иметь пароль, иначе не выполняет задания, хоть и создаёт

MioZo
02-09-2011, 02:56
Используются доменные УЗ (в т.ч. в указанном случае). Требования к сложности пароля.
Крыжик "Выполнять только при выполненном входе в систему", как понимаю, и "подставляет" пользователя и пароль в Job'е.




© OSzone.net 2001-2012