Le service Windows ne peut pas accéder au partage réseau

9

J'ai un service Windows en cours d'exécution sur ma machine locale. Il est configuré pour s'exécuter sous NT AUTHORITY \ NETWORK SERVICE. Le programme accède à un lecteur partagé en réseau sur un ordinateur du même sous-réseau. Ce répertoire partagé a Tout le monde réglé sur Contrôle total.

J'obtiens False sur File.Exists (), mais le fichier existe. Je suis certain que c'est un problème d'autorisation. Suis-je en train d'oublier quelque chose? Remarque, l'ordinateur avec le lecteur partagé n'est pas sur un domaine.

Brian T
la source

Réponses:

13

Le fait que la machine avec le lecteur partagé ne se trouve pas sur un domaine est votre principal problème. Pour que cela fonctionne, vous devrez configurer le service Windows pour qu'il s'exécute en tant qu'utilisateur spécifique, puis vous devrez créer un utilisateur identique sur le système distant avec le même mot de passe. Cela pourrait fonctionner alors.

Le problème vient du fait que pour vous connecter à une machine qui n'est pas dans un domaine, vous devez vous connecter à cette machine en utilisant un compte qui existe sur cette machine. Le compte de la machine pour autre chose n'existera certainement pas sur cette machine locale. En créant un utilisateur identique avec un mot de passe identique, vous pourrez peut-être faire fonctionner la connexion.

sysadmin1138
la source
2
Merci sysadmin. Vous avez raison. Une fois que j'ai créé un compte identique sur les deux machines, cela a fonctionné. La situation idéale serait donc que le partage réseau et le serveur Windows (sur lequel le service s'exécute) soient dans le même domaine. Ensuite, je créerais un compte d'utilisateur de domaine pour exécuter le service et avoir accès au partage.
Brian T
Oui en effet. S'ils étaient dans le même domaine, vous pourriez suivre les conseils de Tony Roth; configurez-le comme vous l'aviez fait (service réseau), puis accordez au compte d'ordinateur les droits sur l'ordinateur distant.
sysadmin1138
-1

modifiez-le pour qu'il s'exécute en tant que système local, puis affectez le machineaccount $ aux autorisations correctes sur les autorisations de partage / NTFS, remarquez la mise en évidence sur NTFS qui doit également être couverte.

Tony Roth
la source
darn a raté la partie pas dans le domaine
tony roth
Je ne comprends pas; quel nom dois-je spécifier dans les autorisations de partage sur la machine distante?
Wilbert