J'ai créé un service Windows qui est essentiellement un observateur de fichiers qui ne s'exécute que si un utilisateur est connecté à la machine sur laquelle il se trouve. Le service est exécuté sur une machine Windows Server 2003. Il est conçu pour déplacer les fichiers qui sont placés dans un répertoire vers un autre répertoire en se basant sur des mots-clés dans les noms de fichiers, mais aucun des fichiers ne se déplace jusqu'à ce que je me connecte, puis tous les fichiers se déplacent en même temps.
Réponses
Trop de publicités?Vous devez probablement configurer le service pour qu'il se connecte en tant qu'utilisateur spécifique, essayez d'aller dans les services, double-cliquez sur le service et sélectionnez "log in as account", puis fournissez les détails de votre compte (domaine \username et mot de passe).
Le compte LocalService a des droits étendus, mais peut ne pas avoir les droits sur les fichiers/dossiers de certains utilisateurs par exemple. Vous pouvez aussi essayer d'accorder des droits sur les fichiers au compte LocalService de manière spécifique. J'essaierais cependant l'astuce "se connecter en tant que" d'abord, car c'est un travail d'une minute. Si cela fonctionne, vous pouvez créer un compte spécial pour exécuter le service, ou bien accorder des droits à LocalSystem.
Btw : S'il s'agit de fichiers en réseau, vous pouvez essayer le compte NetworkedService.
Quelques clarifications s'imposent :
- Vous avez mentionné
un observateur de fichiers qui ne s'exécute que si un utilisateur est connecté à la machine sur laquelle il se trouve.
Comment cela a-t-il été mis en œuvre ? En général, les services sont automatiquement lancés au démarrage de la machine, car chaque service Windows s'exécute sous une station Windows différente, avec un contexte de sécurité indépendant.
- Vous mentionnez également
mais aucun des fichiers ne bouge jusqu'à ce que je me connecte.
N'est-ce pas en contradiction avec le premier point, puisque c'est pour cela qu'il a été implémenté ? [Je suppose que le point ci-dessus a été mis en œuvre].
- Le service est-il configuré pour fonctionner sous un compte spécial ?
- Le serveur a-t-il été configuré pour exiger des droits spéciaux pour déplacer des fichiers sur le système de fichiers ?