none
Monitorer l'effacement de fichiers sans utiliser le FilesystemWatcher RRS feed

  • Question

  • Bonjour,

     

    Je voudrais monitorer l'effacement d'un fichier dans un répertoire réseau. J'ai fait un ezssai avec un programme en .NET et le FilesystemWatcher, et quand un utilisateur efface un fichier , j'arrive à avoir une message mais c'est trop tard, le fichier est parti.

    On m'a dit d'utiliser le VSS pour éviter ce problème mais pour moi le VSS est une très mauvaise solution.
    - Si un utilisateur efface un fichier quelques secondes avant un snapshot, le fichier est perdu.
    - Si un utilisateur efface modifie un fichier et l'efface avant le snapshot, les changements sont perdus (et si le fichier a été modifié pendant des heures, on ne sait pas retrouver ce qui a été changé...
    - Si un fichier est effacé et on voit que le fichier manque quelques jours après alors il peut être effacé si on ne garde que X snapshots (sans parlert de la taille des fichiers de sauvegarde...).

    Je voulais donc faire une programme (à installer sur le serveur de fichiers) qui fasse la même chose que sous Linux (et Samba) : Si un fichier est effacé on bloque l'effacement et on déplace le fichier dans la corbeille. Si on efface le fichier dans la corbeille il est effacé définitivement. Malheureusement je ne sais pas par où commencer. Est-ce que quelqu'un sait où on peut trouver des informations sur ce que je voudrais faire? J'ai entendu qu'il fallait créer un programme en C++ pour permettre de déclencher des évènements, puis après il faut créer un autre programme qui intercepte les évènements.

    Merci d'avance
    Marc

    dimanche 5 février 2012 09:31

Réponses

  • Bonjour,

    Après plusieurs recherches, je n'ai malheureusement trouvé aucune API permettant d'annuler ou de changer le comportement de la suppression d'un fichier.

    L'utilisation de VSS ne vous sera d'aucune utilité. Ce n'est pas conçu pour çà...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    dimanche 5 février 2012 16:19
    Modérateur
  • Bonjour,

    Il existe d'autres solutions pour la partage de fichier : Microsoft SharePoint.

    La version de base (SharePoint Foundation) est gratuite, c'est simple à utiliser et à installer. On a la possibilité d'utiliser l'explorateur de fichiers. Une "corbeille" est disponible lors de la suppression de fichiers. Il est possible d'avoir un moteur de recherche pour indexer du contenu... Et bien évidemment vous pourrez structurer vos documents autrement qu'un simple partage de fichier ! (Liste, Calendrier,...etc).

    J'essaye toujours de pousser ce genre de solution pour le partage simple de documents dans des PME ou TPE. N'hésitez pas à regarder ce produit...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse Marc Allard lundi 6 février 2012 10:02
    lundi 6 février 2012 09:09
    Modérateur

Toutes les réponses

  • Bonjour,

    Après plusieurs recherches, je n'ai malheureusement trouvé aucune API permettant d'annuler ou de changer le comportement de la suppression d'un fichier.

    L'utilisation de VSS ne vous sera d'aucune utilité. Ce n'est pas conçu pour çà...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    dimanche 5 février 2012 16:19
    Modérateur
  • Bonjour,

     

    Merci pour votre réponse. Est-ce que vous voulez dire qu'une corbeille réseau ne sera possible que je jour où Microsoft décidera de l'implémenter?

    Marc
    lundi 6 février 2012 08:48
  • Bonjour,

    Il existe d'autres solutions pour la partage de fichier : Microsoft SharePoint.

    La version de base (SharePoint Foundation) est gratuite, c'est simple à utiliser et à installer. On a la possibilité d'utiliser l'explorateur de fichiers. Une "corbeille" est disponible lors de la suppression de fichiers. Il est possible d'avoir un moteur de recherche pour indexer du contenu... Et bien évidemment vous pourrez structurer vos documents autrement qu'un simple partage de fichier ! (Liste, Calendrier,...etc).

    J'essaye toujours de pousser ce genre de solution pour le partage simple de documents dans des PME ou TPE. N'hésitez pas à regarder ce produit...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse Marc Allard lundi 6 février 2012 10:02
    lundi 6 février 2012 09:09
    Modérateur
  • Merci beaucoup je vais faire quelques essais mais ça me semble parfait.

     

    Marc

    lundi 6 février 2012 10:03