Windows Dienst – Zugriff auf Netzwerkressourcen – was ist zu beachten ?

Unsere Anwendungen zur Dokumentenkonvertierung – FileConverter, AutoOCR bzw. FileConverterPro – dienen dazu einen oder mehrere Eingangsordner zu überwachen und für neu hinzukommende Dokumente die Verarbeitung automatisch zu starten. Das kann entweder über lokale Laufwerke aber auch über Netzwerk Ressourcen erfolgen.

Besonders bei der Installation der Anwendungen als Dienst und bei Verwendung von Netzwerk Ressource sind einige Dinge hinsichtlich der richtigen Konfiguration zu beachten:

  • Der Dienst der auf Netzwerk Ressourcen Zugriff haben soll muss unter einem User Account laufen und nicht als System Account.
  • Der User unter dem der Dienst läuft muss über die entsprechenden Rechte (Lesen / Schreiben / Löschen) auf die Netzwerkressource verfügen.
  • Für den Zugriff auf die Netzwerk-Ressourcen (In- / Out- / Error- / Archiv- / Log-Folder) darf kein gemapptes Laufwerk verwendet werden sondern es muss der direkte Netzwerk Share (UNC Pfad) verwendet werden.
  • Die Verarbeitungsoption für das Folder-Monitoring muss von “File System Events” auf “Read File Blocks” umgestellt werden.

Die Netzwerk Verbindung auf einen Laufwerks Buchstaben wird über das “Network Connection Service” verwaltet – Mappt man ein Laufwerk so gibt es einige Dinge die man wissen sollte

  • Option – Reconnect beim Logon – Dient dazu um das Laufwerk Mapping beim nächsten Login automatisch wieder herzustellen.
  • Das Mapping der Laufwerke wird über User realisiert – ist der User nicht eingeloggt so sind die gemappten Laufwerke nicht verfügbar.
  • Über einen Dienst – unabhängig davon ob dieser mit dem gleichen Account wie der aktuell eingeloggte User läuft ist oder nicht – sind gemappte Laufwerke nicht verfügbar – da ein Service nur unter den “User Credentials” läuft, selbst aber nicht eingeloggt ist.

Generell – auch falls die Anwendungen nicht als Service installiert und betrieben wird – empfiehlt es sich Netzwerk Shares (UNC Pfade) an Stelle von gemappten Laufwerken zu verwenden. Ein Netzwerk Share – der direkter Zugang zur Netzwerk Ressource – ist sowohl für den Dienst (unter einem User Account) als auch für normale Anwendungen immer verfügbar und wird vom Remote Server definiert. Das gilt jedoch nicht für den lokalen System Account – dieser hat keinen Zugriff auf Netzwerk Ressourcen und kann daher nicht für einen Dienst verwendet werden der auf Netzwerk Ressourcen Zugriff haben muss.