68465
Goto Top

Aufgabenplanung führt Task nicht aus auf Windows Server 2008R2 Standart

Hallo,

habe ein nerviges Problem mit Aufgabenplanung auf Windows Server 2008R2 Standart.

Ich habe eine kleine Konsolen-Anwendung (.exe) geschrieben, die eine Datei von einem Netzlaufwerk auf lokale Festplatte kopieren soll.Und das muss täglich gemacht werden.Dafür wollte ich eine Aufgabe erstellen und periodisch laufen lassen.

Auf dem Server verfüge ich über Admin-Rechte und kann die Aufgabe ohne Probleme erstellen.
Aber die Aufgabe wird nicht ausgeführt. Die Option Mit höchsten Privilegien ausführen ist auch abgehakt.
Ich habe es auch einmal versucht, Notepad starten zu lassen. Geht auch nicht.

Auch der Versuch über den Knopf Ausführen im Menü auf der rechten Seite bringt nichts.
Wobei die Aufgabe in der Liste von alle aktiven Aufgaben anzeigen angezeigt wird und der Status auf Wird ausgeführt steht..
In dem Log Fenster steht nach einer Weile sogar, dass die Aufgabe angeblich erfolgreich ausgeführt wurde.

(Nach einer Recherche habe ich Conficker Worm Removal Tool von Sophos heruntergeladen und installiert.
Ich dachte es könnte vielleicht daran liegen. War nicht der Fall.
Aber was mir aufgefallen ist : Am Ende der Installation gab es eine Option Programm jetzt ausführen.
Ich habe sie ausgewählt aber das Programm wurde nicht gestartet.)


Der Server ist ein Cloud-Rechner. Das ganze habe ich bei mir lokal unter Windows XP Pro auch versucht.
Es hat wunderbar geklappt.


Für einen Hinweis wäre ich sehr dankbar.

Selim

Content-Key: 170145

Url: https://administrator.de/contentid/170145

Printed on: April 16, 2024 at 14:04 o'clock

Member: jsysde
jsysde Jul 21, 2011 at 10:07:14 (UTC)
Goto Top
Im Kontext welches Benutzers läuft denn der Task?
"Lokales System" hat z.B. keinen Zugriff aufs Netzwerk....

Cheers,
jsysde
Mitglied: 68465
68465 Jul 21, 2011 at 10:41:33 (UTC)
Goto Top
Benutzer gehört zu den Administratoren-Gruppe.
In unserem Cloud-System gibt es zwei Server.
Server A : Auf dem Melden sich unsere Mitarbeiter an und arbeiten drauf.
Server B . Web-Apps laufen drauf mit Apache-Server.

Eine Datei soll von Server A* --> Server B kopiert werden.
(*Aus einem freigegebenen Ordner, der auf B als Netzlaufwerk Z eingebunden ist)

Auf Server B ist nur ein Benutzer B erstellt worden mit Admin-Rechten.
(Sonst gibt es noch das Default Administrator Konto von Windows)

Der Task läuft also im Kontext des Benutzer B und sollte auch dann laufen
wenn der Benutzer B abgemeldet ist. (Dafür gibt es ja auch ne Option)

Unsere Rechner im Büro sind mit einer Leitung direkt mit dem Cloud-Netz verbunden.
Dadurch habe ich das Netzlaufwerk Z bei mir lokal (XP System) einbinden können.
Den Task ließ ich laufen, während ich abgemeldet bin. Es ging ohne Probleme.


Danke

Gruß
Selim
Member: DerWoWusste
DerWoWusste Jul 21, 2011 at 11:21:54 (UTC)
Goto Top
Hi.

Du brauchst mehr Wissen über den Taskplaner. Was bei xp und 2008 unterschiedlich ist, ist, dass (Vista/7/) 2008 die Anwendung nicht mehr interaktiv anzeigt, wenn man wählt, den Task auch auszuführen, wenn der Benutzer nicht angemeldet ist.
Der Task läuft also, nur nicht sichtbar, da nicht in der selben Sitzung gestartet.
Member: DerWoWusste
DerWoWusste Jul 21, 2011 at 11:23:18 (UTC)
Goto Top
@jsysde
"Lokales System" hat z.B. keinen Zugriff aufs Netzwerk....
Kommt drauf an. In einem Domänennetzwerk schon, da dort die SIDs ja domänenwerkweit (und nicht nur lokal) verwendet werden.
Mitglied: 68465
68465 Jul 21, 2011 at 14:11:43 (UTC)
Goto Top
Hallo,

Danker erstmal.

Tatsächlich wird ein Prozess generiert aber ich habe es nicht angezeigt bekommen. Denn
Windows Task-Manager sucks Jedoch Process Explorer rocks. Dank diesem Tool habe ich gesehen dass der Prozess generiert wurde.


Ich habe festgestellt, dass es mehrere Probleme gibt.

Das eine habe ich gelöst. Das Feld "Starten in (optional)" musste ich mit dem Verzeichnis
in dem sich das Programm befindet, ausfüllen.

Dies hat aber nur ermöglicht, dass eine lokale Datei in einen anderen lokalen Ordner kopiert wird.
Und das alles noch nur im angemeldeten Zustand. Muss auch im abgemeldeten Status laufen.


Gruß
Selim
Member: DerWoWusste
DerWoWusste Jul 21, 2011 at 14:25:06 (UTC)
Goto Top
Du arbeitest schön mit Hervorhebungen, aber was das Problem ist, ist mir dennoch unklar.
Kopier einfach mal Dein Skript hier rein, damit man es nachvollziehen kann.
Member: jsysde
jsysde Jul 21, 2011 at 15:45:59 (UTC)
Goto Top
Zitat von @DerWoWusste:
Kommt drauf an. In einem Domänennetzwerk schon, da dort die SIDs ja domänenwerkweit (und nicht nur lokal) verwendet
werden.
Was hat das mit Domäne oder nicht zu tun?
Wenn ein Dienst und/oder ein Task im Kontext von "Lokales System" läuft, kann dieser z.B. nicht auf UNC-Pfade zugreifen.

Cheers,
jsysde
Mitglied: 68465
68465 Jul 22, 2011 at 10:46:51 (UTC)
Goto Top
Hallo vielen Dank für alle Antworte.

Ich bin bei dieser Sache zuerst sehr naiv vorgegangen. Ich hatte ein Skript im PHP geschrieben, was die Datei nach Modifikation prüft und dementsprechend kopiert.
Dann habe ich es mit "bamcompile" in eine EXE umgewandelt. (weil ich so faul war etwas mit Batch zu schreiben). Im Skript hatte die copy Funktion mit Mapped-Laufwerknamen
benutzt darunter das Netzlaufwerk. Aber anscheinend war die Verbindung zum Netzlaufwerk nicht da wenn ich das Programm über Aufgabenplanung startete. Im abgemeldeten Modus sowieso gar nicht.

Ich habe jetzt ein Lösung mit BATCH gefunden , was auch im abgemeldeten Modus funktioniert:

ANMELDU'NG BEI DEM SERVER
net use SERVER MeinPasswort /user:Mein Benutzername in der Domäne
KOPIEREN DER DATEI
robocopy SourceDir TargetDir File(s) /XO


net use \\192.168.112.10 MeinPasswort /user:Mein Benutzername in der Domäne
robocopy \\192.168.112.10\Freigabeordner\TEMP c:\TEMP myfile.csv /XO


- /XO sorgt dafür dass die Datei nur dann kopiert werden soll wenn sie neuer ist als die , die in C:\TEMP liegt.
- antstatt myfile.csv sollte man * setzen wenn mal alles kopieren möchte.
Member: DerWoWusste
DerWoWusste Jul 23, 2011 at 13:49:12 (UTC)
Goto Top
Na prima.
Ein Kommentar noch:
Windows Task-Manager sucks
Auch der Windows TM stellt den Task dar, wenn Du den Haken bei "Prozesse aller Benutzer anzeigen" setzt.
Member: DerWoWusste
DerWoWusste Jul 24, 2011 at 16:24:17 (UTC)
Goto Top
@jsysde
Was hat das mit Domäne oder nicht zu tun?
Wenn ein Dienst und/oder ein Task im Kontext von "Lokales System" läuft, kann dieser z.B. nicht auf UNC-Pfade zugreifen.

Da hast Du etwas Grundsätzliches zu Domänennetzwerken nicht verstanden. Überleg bitte zunächst einmal, wie ohne dass das Systemkonto im Netzwerk handeln könnte, wohl GPOs funktionieren sollten, die auf Computer gebunden sind (z.B. Softwareverteilung über UNC-Pfade). Selbstverständlich kann auch ein solcher Task auf UNC-Pfade zugreifen.
Oder schau Dir ACLs an - Du kannst jederzeit die Gruppe der Domänencomputer (die die einzelnen Systemkonten Rechnername$ umfasst) oder einzelne PCs (Rechnername$) berechtigen, auf Freigaben zuzugreifen.
Nun die Verbindung zur Domäne: Erst wenn ein PC einer Domäne angehört, wird seine eigene SID (domänen-)netzwerkweit bekannt. Man unterwirft sich dem DC und der wird somit zentrale Abfragestelle bei Objektzugriffen (für Auswertung von ACLs). Erst dann kann man in ACLs nicht nur lokale Konten, sondern auch Domänenkonten berechtigen - und damit auch Domänencomputerkonten (=local system).
Member: jsysde
jsysde Jul 24, 2011 at 16:46:12 (UTC)
Goto Top
Jupp - "Lokales System" und "Lokaler Dienst" durcheinandergewürfelt.

Cheers,
jsysde