
Windows 10 Pro
Version 1709 OS
Bauen 16299.666
Ich habe einen Dienst, der auf das Netzlaufwerk zugreifen möchte U:/public/blah.txt
. Die Ausführung als normaler Benutzer mit der Eingabeaufforderung funktioniert, die Ausführung als Dienst funktioniert nicht.
Wenn Sie zu gehen und das richtige Passwort services.msc -> servicename -> properties -> Log On -> This account
verwenden MYDOMAIN/MYUSER
und neu starten, funktioniert es immer noch nicht und es wird dieselbe Fehlermeldung angezeigt. Dies ist das Konto, mit dem das Programm erfolgreich über die Eingabeaufforderung ausgeführt werden kann.
Es handelt sich um eine ausführbare Golang-Datei, die in einemnssmService und die eigentliche Fehlermeldung ist Error opening file U:\public\blah.txt: The system cannot find the path specified
.
Dieses Programm funktionierte früher als Dienst auf einem anderen Computer und greift sogar auf dasselbe Laufwerk zu. Der einzige Unterschied besteht für mich darin, dass das Konto, das ich jetzt verwende, ein Domänenkonto ist, während es vorher ein lokaler Benutzer war.
Warum werden meinem Dienst die Laufwerkszuordnungen nicht angezeigt, wenn er erfolgreich als der Benutzer angemeldet ist, der über sie verfügt?
Antwort1
Anstatt den Dienst über ein zugeordnetes Laufwerk auf die Daten zugreifen zu lassen, verwenden Sie stattdessen einen UNC-Pfadnamen.
Es gibt verschiedene Möglichkeiten, wie ein Laufwerk zugeordnet werden kann, wenn ein Benutzerprofil geladen wird. Nicht alle davon werden ausgelöst, wenn einServicemeldet sich mit einem bestimmten Konto an. Aus diesem Grund sind UNC-Pfade zuverlässiger als zugeordnete Laufwerke.