![]() |
Fehlende Dateirechte für Netzordner bei Programm als Service
Hallo,
habe mir mal die Anleitung von Luckie vom 28.10.2003 zu Herzen genommen und mein gut funktionierendes Client-Win2000-Programm gemäß Anleitung: ![]() als Dienst umgebaut. Funktioniert soweit - da nonVCL - wie immer. Aber ein Problem kann ich nicht lösen: -------------------------------------- Beim Scannen des Netzordners N: erhält mein Dienst keinen Datei-Zugriff auf den Server !
Delphi-Quellcode:
Zum Beispiel liefert die Function:
procedure SERVICE_MAIN;
Var MsgF : File; begin repeat if not paused then begin if FileExists('N:\Post.Msg') then begin {=== 1. Benachrichtung ====================} {=== 2. löschen der Post auf Server =======} AssignFile(MsgF,'N:\Post.Msg'); {$I-} Erase(MsgF); d_int:=IOresult; {$I+} end; end; until stopped; end;
Delphi-Quellcode:
immer "false" zurück, egal ob die Datei existiert oder nicht.
if FileExists('N:\POST.Msg') then {u.s.w}
Außerdem kann das Programm als Dienst weder löschen noch auf dem Netzordner schreiben. Ich vermute, dass die Rechte nicht stimmen. Habe aber schon die Gruppe "System" sowie "Dienst" und "Netzwerk" am Server freigegeben. Gleiches Resultat ! Wenn ich statt dem Netzordner "N:\" Laufwerk C:\ (lokal) angebe funktioniert es wieder! Genauso wie vorher als Programm und nicht als Dienst ! Welche Rechte sind da auf dem Server oder im Dienst frei zu geben ? |
Re: Fehlende Dateirechte für Netzordner bei Programm als Ser
Hallo,
ich vermute einmal viel mehr, dass es das Laufwerk N: für deinen Dienst garnicht gibt! Da das Laufwerk nur für den gerade angemeldeten Benutzer gemappt wird/wurde. Versuche stattdessen Zugriffe in der Art: \\Servername\Freigabe\Pfad\Datei.Endung Ciao Peter |
Re: Fehlende Dateirechte für Netzordner bei Programm als Ser
Zitat:
Das Netzlaufwerk N:\ ist für jeden (Nutzer) zugänglich und wurde gemappt mit net use N: \\Servername\Freigabe_Name der Zugriff der Art:
Delphi-Quellcode:
funktioniert im Programm (nicht als Dienst) ohne Probleme !
if FileExists('N:\POST.Msg') then {u.s.w}
Wo soll denn Deine Anweisung Zitat:
Schon beim Mapping ? |
Re: Fehlende Dateirechte für Netzordner bei Programm als Ser
Hallo,
Befehle in der Art "net use ...." wirken sich nur auf den momentan angemeldeten Benutzer aus, dein Dienst läuft in einer anderen Nutzersession. Benutze folgenden Code: (Annahme der Server auf dem N: gemappt wird heisst Server_1 die Freigabe heisst Daten)
Delphi-Quellcode:
Um den genauen Dateiname herauszufinden rufe als Benutzer mit
if FileExists('\\Server_1\Daten\POST.Msg') then {u.s.w.}
gemapptem Laufwerk N: (nicht als Dienst) die Funktion:
Delphi-Quellcode:
auf.
showmessage(ExpandUNCFileName('N:\POST.Msg'));
Ciao Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz