Windows 10 Pro

Версия 1709 ОС

Сборка 16299,666

У меня есть сервис, который хотел бы получить доступ к сетевому диску U:/public/blah.txt . Запуск его как обычного пользователя с командной строкой работает, запуск как службы - нет.

Если перейти к services.msc -> servicename -> properties -> Log On -> This account и использовать MYDOMAIN/MYUSER и правильный пароль и перезапустить, он все равно не работает и выдает то же сообщение об ошибке. Это учетная запись, которая может успешно запустить программу из командной строки.

Это исполняемый файл golang, работающий внутри службы nssm, и фактическое сообщение об ошибке: Error opening file U:\public\blah.txt: The system cannot find the path specified .

Эта программа работала в качестве службы на другом компьютере, она даже имеет доступ к одному и тому же диску. Единственное различие, которое я вижу, состоит в том, что учетная запись, которую я использую сейчас, является учетной записью домена, тогда как раньше она была локальным пользователем.

Почему мой сервис не видит сопоставления дисков, если он успешно зарегистрирован как пользователь, у которого они есть?

1 ответ1

0

Вместо того, чтобы служба обращалась к данным через подключенный диск, вместо этого используйте UNC-путь.

Существует множество способов сопоставления диска при загрузке профиля пользователя. Не все из них запускаются, когда служба входит в систему с использованием определенной учетной записи. По этой причине пути UNC более надежны, чем сопоставленные диски.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .