Od kilku dni męczę się jak dodać zadanie do harmonogramu w Windowsie przez skrypt php. Wiem, że zaraz zaczniecie pisać bym używał CRONa i na to też przyjdzie czas ale niestety na chwile obecną muszę to zadanie rozwiązać pod winda. Ogólnie rzecz biorąc przygotowane komendy schtasks działają gdy dodaję je ręcznie z konsoli. Zwracają jednak błąd podczas próby wywołania przez php exec(). Wykluczyłem już problemy związane ze cudzysłowami. Wydaje mi się, że składnia jest w pełni poprawna. Wyświetlałem przygotowane polecenia i wszystko wygląda ok.
A więc od początku. Wywołuję przygotowany skrypt dodający zadanie do harmonogramu.
exec("schtasks /Create /SC MINUTE /MO 1 /TN test/TR \"[PHP_PATH]\\php [SCRIT_PATH]\\test.php\""." 2>&1", $results);
Powyższy kod powinien dodać do harmonogramu zadanie o nazwie test wywołujący skrypt test.php co minute. Niestety jednak tak się nie dzieję. Dzięki przekierowaniu strumienia błędów byłem w stanie odczytać komunikat jaki zwraca mi exec.
BŁĄD: Nie zostało wykonane mapowanie między nazwami kont a identyfikatorami zabezpieczeń. (44,4):LogonType:
Szukałem w google i niestety nie mogę znaleźć rozwiązania do powyższego problemu. Czy ktoś spotkał się już z takim problemem? Dodam tylko, że próba wywołania samego exec('schtasks') zwraca mi całą tablicę obecnie dodanych tasków. Także mam dostęp do cmd. Próbowałem dodawać informację o użytkowniku czyli /RU i /RP i dalej ten sam błąd. Podkreślę także, że dokładnie to samo zadanie dodawane jest poprawnie gdy robię to z linii komend bez udziału PHP.
Jeśli macie pomysł proszę piszcie.
Pozdro