2010-09-01 13 views
11

Tengo un servicio de Windows ejecutándose en mi máquina local. Está configurado para ejecutarse en NT AUTHORITY \ NETWORK SERVICE. El programa accede a una unidad compartida de red en una computadora en la misma subred. Ese directorio compartido tiene Todo configurado en control total.El servicio de Windows no puede acceder a la red compartida

Obtengo False en File.Exists, pero el archivo existe. Estoy seguro de que esto es un problema de permiso. ¿Estoy olvidando algo? Tenga en cuenta que la computadora con la unidad compartida no está en un dominio.

+7

no tenemos nuthin sobre los servidores de dem stinkin aquí. prueba la falla del servidor. –

Respuesta

15

solución aquí: https://serverfault.com/questions/177139/windows-service-cant-access-network-share

El hecho de que la máquina con la unidad compartida no está en un dominio es donde su principal problema es. Para que esto funcione, deberá configurar el servicio de Windows para que se ejecute como un usuario específico, y luego tendrá que crear un usuario idéntico en el sistema remoto con la misma contraseña. Podría funcionar entonces.

El problema surge del hecho de que para iniciar sesión en una máquina que no está en un dominio, debe iniciar sesión en esa máquina utilizando una cuenta que exista en esa máquina. La cuenta de la máquina para algo más definitivamente no existirá en esa máquina local. Mediante la creación de un usuario con una contraseña idéntica idénticos, es posible que pueda conseguir la entrada al trabajo."

-sysadmin1138

he creado cuentas idénticas en ambas máquinas y la cuenta de servicio la oportunidad de acceder a la compartida Contar con los servidores en el mismo dominio es una mejor solución, así que estoy trabajando para lograrlo, pero esto funcionará mientras tanto.

+0

¿Qué ocurre si no puedo tocar el servidor remoto? ¿Hay una alternativa? –

2

Establecer los permisos de uso compartido no es suficiente. También establezca los permisos NTFS adecuadamente, entonces funcionará. Todo Control total en el recurso compartido significa que todos pueden pasar a través de la red hasta la raíz del recurso compartido, pero a partir de ese momento los derechos NTFS se utilizan para determinar qué está permitido y qué no. Se encontró

+0

¿Dónde puedo cambiar los permisos NTFS? Establecí el control total en Todos en Permisos para compartir y en la pestaña Seguridad –

+0

Los permisos NTFS están en la pestaña de seguridad. Cuida los permisos denegados en "Avanzado". Anulan cualquier otro permiso para un usuario determinado. Si un usuario es miembro de varios grupos, también se aplican los derechos más restrictivos. Los permisos de ACL son realmente difíciles. También estoy bastante seguro de que hay algo mal allí. También verifique el nivel en el que se aplican los permisos ("Esta carpeta, subcarpetas y archivos"). También solo están visibles en la pestaña avanzada. Espero eso ayude. La pestaña de permisos efectivos le permite ver qué permisos tiene un usuario (eventualmente). – jdehaan

5

Brian T tenía razón. Pero me gustaría agregar algo. este problema aunque el servicio se ejecutaba en el mismo DOMINIO \ Usuario. Nuestro servicio intentaba escribir un archivo en una carpeta/unidad compartida y se configuró en la c onfig.xml como ese: I:/ruta/a/el/archivo/a/escritura.

Pero cuando cambiamos la configuración para usar la dirección IP de la red en lugar de la letra de la unidad, logramos solucionar el problema. Sin embargo la sintaxis cambiado un poco:

\\ xxx.xxx.xx.xx \ ruta \ a \ la \ carpeta \ a \ escribir

la esperanza que esto ayude a que todavía no han resuelto el problema

+0

esta solución funcionó para mí –

Cuestiones relacionadas