выполнение сценария python с использованием служебной учетной записи в планировщике задач windows завершается через несколько секунд - PullRequest
0 голосов
/ 04 мая 2020

ПРИМЕЧАНИЕ:

  1. с использованием cmd в моем профиле - работа
  2. с использованием sch.cmd в моем профиле - работа
  3. с использованием задачи планировщик, запускающий sch.cmd, выбирая пользователя, вошел в систему, работая
  4. , используя планировщик задач, выполняющий sch.cmd, выбирая пользователя, вошел в систему или нет - НЕ РАБОТАЕТ. А также A.py запускается в течение 1 или 2 секунд, а затем выключается, не давая результата.

ПРИМЕЧАНИЕ:

Все файлы выполняются с использованием cmd в моем профиле и получают правильные результаты. Но не с планировщиком задач windows в моем профиле. Все разрешения уже предоставлены. Я хочу перечислить имя файла и оба метода glob.glob и listdir не работает, давая- [] пустой набор или вообще ничего не печатая.

Настройка планировщика задач: (elasti c поиск уже запущен, и я хочу запустить A.py)

программный скрипт:

cmd

аргументы:

/ c sche.cmd> ya sh .txt

Начало в:

D: \ path \

sche.cmd содержит:

@echo on
cmd /k "cd /d D:\path\env\Scripts\ & activate & pythonw.exe &  cd /d D:\path\files & python A.py"

Now,

ПРИМЕЧАНИЕ: В пути есть пробел: '\ 11.11.11.11 \ d $ \ E * ELE В A5 * \ S \ A', но есть ограничение: я просто не могу изменить свой путь, так как это путь production.

ПРИМЕЧАНИЕ: Запускается при входе пользователя в систему или при включении и включении самого высокого привилегированного уровня.

A.py is:

from elasticsearch import Elasticsearch
import os, glob
import datetime as dt
from datetime import datetime
from dateutil import parser
ES_HOST = {"host":  "localhost", "port": 9250}

es = Elasticsearch(hosts=[ES_HOST])


n = 0
a=b=c=d=0
ip = '11.11.11.11'
username = 'abcdefgh'
password = '12345678'

use_dict = {}
use_dict['remote'] = ('\\11.11.11.11\d$\E\ELE In A5\S\A')
use_dict['password'] = ('12345678')
use_dict['username'] = ('abcdefgh')
folder_path = r'\\11.11.11.11\d$\E\ELE In A5\S\A'
print("############", folder_path)
dirContents = os.listdir(r'\\11.11.11.11\d$\E\ELE In A5\S\A')
print("yahoo")
if len(dirContents) == 0:
    print('Folder is Empty')
    n = 0
else:
    print('Folder is Not Empty')
    for filename in glob.glob(os.path.join(folder_path, '*')):
        with open(filename, 'r', encoding="ISO-8859-1") as f:

            text = f.read()

           {DO SOMETHING}

** более подробная информация уже есть в вопросе без ответа: ** Запуск сценария python в служебной учетной записи с использованием windows task sch eduler ****

...