Task Scheduler / Aufgabenplanung bei RDS-Server

Hallo zusammen,

wir greifen mittels eines RDS Servers auf den cRM zu. Vorgabe im RDS Server ist, dass die Benutzer nach einer Leerlaufzeit von ca. 1 Stunde automatisch vom System getrennt und abgemeldet werden.
Das funktioniert soweit auch perfekt. Ein Problem sind jedoch die Scheduler-Task (Aufgabenplanung) die nicht korrekt ausgeführt werden solange der Nutzer nicht an dem System angemeldet ist.

Die Tasks werden mittels der Aufgabenplanung auf dem Server, auf dem auch der cRM eingerichtet wurde, ausgeführt. Im Scheduler wurde ausgewählt, dass der Task auch bei nicht angemeldetem Nutzer ausgeführt werden soll.

Der cRM kann problemlos auf dem Server mit dem im Task genannten Benutzer gestartet werden. Wird der Task manuell ausgeführt funktioniert dieser auch.

Mittels Skript habe ich nun geprüft an welcher Stelle der Task abbricht sobald der Nutzer nicht angemeldet ist. Das passiert an dieser Stelle: CreateObject(„cRM.Application“).

'DE: Versuchen auf bereits aktiven cRM zuzugreifen
Set ocRM = GetObject(,"cRM.application")

'DE: Wenn der cRM noch nicht gestartet wurde erzeuge eine neue Instanz
If Err <> 0 Then
    Err.Clear
    Set ocRM = CreateObject("cRM.Application")
    if (isObject(ocRM)) Then
        oTXX.WriteLine(Now & ": 7. JA, konnte erstellt werden... ")
    Else
        oTXX.WriteLine(Now & ": 8. NEIN, es ist ein Fehler aufgetreten... ")
    End If
...

Hat jemand eine Idee wie ich das Problem beheben kann? Wie kann die Com-Schnittstelle geladen werden auch wenn kein Nutzer am System angemeldet ist?

Hallo,

bitte beachten Sie folgendes, wenn Sie die Option „Unabhängig von der Benutzeranmeldung ausführen“ setzen:

  • Alle Pfade im Skript müssen absolut sein, also bitte kein %PRJDIR% oder ähnliches verwenden.
  • Verwenden Sie keine visuellen Dialoge (z.b. MsgBox).
  • Führen Sie bitte folgenden Test durch: Zuerst aus dem cRM heraus das Skript starten, dann aus Windows starten, dann als Task mit Benutzeranmeldung, dann mit Option „Unabhängig von der Benutzeranmeldung ausführen“ ausführen
  • Prüfen Sie, ob der User Zugriff auf die Pfade hat (cscript.exe, crm.exe, Verzeichnis für Logfile usw.).

Ich hoffe diese Hinweise helfen Ihnen bei der Fehlersuche weiter.

Hallo Herr Metternich,

schon mal vielen Dank für die Rückmeldung. Die Punkte kann ich alle mit ok oder ja beantworten. Der Task läuft bei angemeldetem Benutzer auch einwandfrei. Nur bei „Unabhängig von der Benutzeranmeldung ausführen“ scheint das System nicht auf die com-Objekte zugreifen zu können. Bei der Prüfung isObject von CreateObject(„cRM.Application“) kommt in diesem Fall ein „Nein“ zurück.

Ralf

Hallo Ralf,

Bitte stellen Sie nochmals sicher, dass der hier ausgewählte Benutzer die Zugriffsrechte auf die cRM Installation und das Projektverzeichnis etc. hat.

Auf welchen Pfad in der Registry zeigt „cRM.Application“:
Computer\HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{89CD9381-CAF8-4BB3-BD66-99254D5E38CB}\LocalServer32
Zeigt das ggf. auf einen Pfad der für den o.a. Benutzer nicht erreichbar ist?

Man könnte noch versuchen ein Log zu erstellen. Möglicherweise finden sich hier weitere Hinweise. Dazu müssen Sie aber die Debug-Version des cRM registrieren. Gehen Sie dazu bitte folgendermaßen vor:

Im Installationsverzeichnis des cRM befindet die Datei „cRM_WithDebugLogging.exe“. Starten Sie diesen bitte mit dem Parameter „/regserver“ (mit Admin-Rechten), um diese Version als „cRM.Application“ zu registrieren. Starten Sie nun die nicht funktionierende Aufgabe. Es sollte im Verzeichnis „C:\Windows\Temp“ ein Log mit dem Namen "Debwin.log“ erzeugt worden sein. Hängen Sie dieses bitte hier an.

Um den cRM wieder „normal“ zu registrieren, rufen Sie bitte die „cRM.exe“ aus dem Installationsverzeichnis des cRM mit dem Parameter „/regserver“ auf.

Wenn Sie die Protokolldatei Ihres Systems aus Datenschutzgründen hier nicht öffentlich teilen möchten, können Sie selbstverständlich auch aus dem cRM heraus direkt eine Supportanfrage mit ein paar Klicks erstellen und uns das Log übermitteln.
image

Ich bin sehr zuversichtlich, dass wir das schon finden werden, regelmäßig geplante Aufgaben per Script durchzuführen ist auf jeden Fall erfolgreich bei Kund:innen am Start, zum Beispiel ein täglicher automatischer Datenimport aus einer externen Quelle Punkt Mitternacht, oder auch stündlich.

Aus dem Nähkästchen: Daher rührt übrigens auch der Wunsch, dass es jetzt in cRM11 eine Möglichkeit gibt, dass diese automatischen Tasks sich doch bitte mit „ihrem cRM Account“ immer garantiert am combit CRM System erfolgreich anmelden können, selbst wenn der Lizenzumfang arg äh „auf Kante genäht“ ist.


Denn wenn die Task nur deswegen fehlschlägt, weil gerade alle Lizenzen belegt sind, und dadurch die neuen Daten dann fehlen oder Sales-Reports nicht morgens im Posteingang des Teams liegen, dann ist das mindestens ärgerlich.