
Windows 10 Pro
Versión 1709 del sistema operativo
Construir 16299.666
Tengo un servicio al que le gustaría acceder a la unidad de red U:/public/blah.txt
. Ejecutarlo como un usuario normal con el símbolo del sistema funciona, ejecutarlo como un servicio no.
Si accede services.msc -> servicename -> properties -> Log On -> This account
y utiliza MYDOMAIN/MYUSER
la contraseña correcta y reinicia, todavía no funciona y produce el mismo mensaje de error. Esta es la cuenta que puede ejecutar con éxito el programa desde el símbolo del sistema.
Es un ejecutable de golang que se ejecuta dentro de unnssmservicio y el mensaje de error real es Error opening file U:\public\blah.txt: The system cannot find the path specified
.
Este programa solía funcionar como un servicio en una computadora diferente, incluso accede al mismo disco. la única diferencia que puedo ver es que la cuenta que estoy usando ahora es una cuenta de dominio, mientras que antes era un usuario local.
¿Por qué mi servicio no ve las asignaciones de unidades, si inició sesión correctamente como el usuario que las tiene?
Respuesta1
En lugar de que el servicio acceda a los datos a través de una unidad asignada, utilice un nombre de ruta UNC.
Hay varias formas de asignar una unidad cuando se carga un perfil de usuario. No todos ellos se activan cuando unservicioinicia sesión usando una cuenta particular. Por este motivo, las rutas UNC son más fiables que las unidades asignadas.