![]() |
Dienst soll auf Netzwerkadressen zugreifen
Hallo ihr,
ich habe einen Dienst der eine Datei von einem Server laden soll. Also habe ich einfach zuerst ein "FileExists('\\gottfried\Neuer Ordner\Service.exe')" gemacht. Aber er meldet mir immer false. Auch ein CopyFile gibt den ErrCode 0 zurück (kA was das heißt... ich find dazu nichts). Aber wenn ich mich als Administrator anmelde geht alles und zumindest FileExists geht (zweiteres noch nicht getestet). Was muss ich jetzt machen, damit auch der Service daran kommt? Normale Benutzer müssen nämlich ein gültigen Login und ein gültiges Passwort eingeben damit es funktioniert. Deshalb nehme ich an das dem Service diese Frage auch gestellt wird. MfG xZise |
Re: Dienst soll auf Netzwerkadressen zugreifen
Dienste haben keinen Zugriff auf Ordner im Netzwerk, wenn ich mich recht entsinne.
Und was sagt GetLastError nach dem Aufruf von CopyFile? |
Re: Dienst soll auf Netzwerkadressen zugreifen
Zitat:
Schlimmstenfalls muss man im Dienst eine Laufwerksverbindung herstellen, das kann auch ohne Vergabe eines Laufwerksbuchstabens sein.
Code:
stellt eine Laufwerksverbindung ohne Laufwerksbuchstabe her, ein
net use \\meinserver\d$ /user:Domaene\Anmeldename Passwort
Code:
ist dann z. B. möglich.
dir \\meinserver\d$
Auch ein Dienst kann dann (sofern er mit der gleichen Anmeldung läuft) auf die Ordner des Servers zugreifen. Wenn man die Laufwerksverbindung aus dem Dienst heraus erstellt, sollte es möglich sein, einen anderen Benutzer zu verwenden, als den, unter dessen Konto der Dienst läuft. Alternative wäre: Auf den Servern, auf die der Dienst zugreifen soll, entsprechende Freigaben einzurichten und dem Benutzer, unter dessen Konto der Dienst läuft, die entsprechenden Rechte einzuräumen. Sofern die Freigabe nicht für "Jedermann" zu sehen sein soll, reicht es unter Windows aus, dem Freigabenamen ein $ anzuhängen. |
Re: Dienst soll auf Netzwerkadressen zugreifen
Zitat:
Zitat:
Zitat:
Zitat:
MfG xZise |
Re: Dienst soll auf Netzwerkadressen zugreifen
Du musst den Service-Eintrag für das integrierte Sicherheits-Prinzipal NT AUTHORITY\NetworkService vornehmen sonst besteht kein Netzwerkzugriff für einen Dienst.
|
Re: Dienst soll auf Netzwerkadressen zugreifen
Zitat:
Vermutlich kannst Du das aber auch über die Windows-API lösen, da weiß ich aber auch nicht wie das geht, da ich lieber auf Betriebssystemebene für die entsprechenden Rechte sorge. Eventuell kannst Du dich mit ![]() ![]() |
Re: Dienst soll auf Netzwerkadressen zugreifen
Wie könnte ich auf Betriebssystemebene die Rechte vergeben?
MfG xZise |
Re: Dienst soll auf Netzwerkadressen zugreifen
Hallo,
was für ein Betriebssystem hast Du? Im Explorer das Verzeichnis auswählen, auf das der Dienst zugreifen soll. Rechte Maustaste, Eigenschaften, Reiter Sicherheit, den Benutzer, unter dessen Konto der Dienst läuft hinzufügen, mit den passenden Rechten versehen und Übernehmen bzw. Ok. Sollte bei XP, Windows Server... funktionieren. |
Re: Dienst soll auf Netzwerkadressen zugreifen
Windows 2000 auf Windows XP Prof.
MfG xZise |
Re: Dienst soll auf Netzwerkadressen zugreifen
Hallo,
unter Windows 2000, Windows Server 2003 und XP Prof. habe ich, mit der von mir beschriebenen Verfahrensweise, keine Probleme. Die Dienste laufen mit einer Admin-Anmeldung der Domäne und die Laufwerksverbindungen werden beim Systemstart per Net Use hergestellt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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