Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   Sheduler не запускает cmd по расписанию. (http://forum.oszone.net/showthread.php?t=213977)

MioZo 24-08-2011 15:28 1738490

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

Petya V4sechkin 24-08-2011 17:54 1738591


Цитата:

Цитата MioZo
В указанное в расписании время запуск не производится.

Как определили?

Цитата:

Цитата MioZo
Ошибки тоже нет.

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

MioZo 31-08-2011 13:38 1743199

Первые два поста изучал, третий анализирую (перевожу переводчиком).

Приведу содержимое батника 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 1743274

MioZo, содержимое AutoSendMail выложите?

MioZo 01-09-2011 06:39 1743771

Код:

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 1744008

Учётка должна иметь пароль, иначе не выполняет задания, хоть и создаёт

MioZo 02-09-2011 02:56 1744485

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


Время: 03:08.

Время: 03:08.
© OSzone.net 2001-