Der Windows-Dienst kann nicht auf die Netzwerkfreigabe zugreifen

9

Auf meinem lokalen Computer wird ein Windows-Dienst ausgeführt. Es ist so konfiguriert, dass es unter NT AUTHORITY \ NETWORK SERVICE ausgeführt wird. Das Programm greift auf ein freigegebenes Netzwerklaufwerk auf einem Computer im selben Subnetz zu. In diesem freigegebenen Verzeichnis ist Jeder auf Vollzugriff eingestellt.

Ich erhalte False auf File.Exists (), aber die Datei existiert. Ich bin sicher, dass dies ein Berechtigungsproblem ist. Vergesse ich etwas? Beachten Sie, dass sich der Computer mit dem freigegebenen Laufwerk nicht in einer Domäne befindet.

Brian T.
quelle

Antworten:

13

Die Tatsache, dass sich der Computer mit dem freigegebenen Laufwerk nicht in einer Domäne befindet, ist das Hauptproblem. Damit dies funktioniert, müssen Sie den Windows-Dienst so konfigurieren, dass er als bestimmter Benutzer ausgeführt wird. Anschließend müssen Sie auf dem Remote-System einen identischen Benutzer mit demselben Kennwort erstellen. Es könnte dann funktionieren.

Das Problem ergibt sich aus der Tatsache, dass Sie sich bei diesem Computer, der sich nicht in einer Domäne befindet, mit einem auf diesem Computer vorhandenen Konto bei diesem Computer anmelden müssen. Das Computerkonto für etwas anderes ist auf diesem lokalen Computer definitiv nicht vorhanden. Wenn Sie einen identischen Benutzer mit einem identischen Kennwort erstellen, kann die Anmeldung möglicherweise funktionieren.

sysadmin1138
quelle
2
Danke Sysadmin. Du hast Recht. Nachdem ich auf beiden Computern ein identisches Konto erstellt hatte, funktionierte es. Die ideale Situation wäre also, dass sich die Netzwerkfreigabe und der Windows-Server (auf dem der Dienst ausgeführt wird) in derselben Domäne befinden. Dann würde ich ein Domänenbenutzerkonto erstellen, um den Dienst auszuführen und Zugriff auf die Freigabe zu haben.
Brian T
Ja in der Tat. Wenn sie sich in derselben Domäne befänden, könnten Sie dem Rat von Tony Roth folgen. Richten Sie es wie zuvor ein (Netzwerkdienst) und erteilen Sie dem Computerkonto die Rechte auf dem Remotecomputer.
sysadmin1138
-1

Ändern Sie es so, dass es als lokales System ausgeführt wird, und weisen Sie dann den Machineaccount $ den korrekten Berechtigungen für die Freigabe- / NTFS-Berechtigungen zu. Beachten Sie das Highlight in NTFS, das ebenfalls behandelt werden muss.

Tony Roth
quelle
verdammt verpasst die nicht in Domain Part
Tony Roth
Ich verstehe nicht; Welchen Namen muss ich in den Freigabeberechtigungen auf dem Remotecomputer angeben?
Wilbert