Eh...in linux il comando stat ti da quelle info. Nello specifico ti fornisce l'Inode, che è identico ovunque tu monti lo share e con qualsiasi nome tu lo monti...
server condivide la cartella /var/log/apache con nome x.x.x.x:/apache
pc1 monta su /home/server/apache
pc2 monta su /home/produzione/logapache
Se fai lo stat su pc1 ottieni un certo inode (es: 105673423)
Se lo fai su pc2 ottieni comunque 105673423
Ovviamente se il check lo devi fare SUL server, cioè capire CHI ha montato "/apache", è un altro discorso più complesso perchè al massimo puoi sapere chi l'ha montato ma non dove.
Comunque, tornando al problema....da come hai specificato non è chiaro perchè devi verificare se due cartelle montate su percorsi diversi sul client sono la stessa cartella sul server...
Lasciando perdere come è la logica per pulire/archiviare, tu cosa vuoi fare dove?
Da dove parte il controllo, dal server principale che verifica sugli altri server^
Chi ha le cartelle montate?
Sei in questa situazione?
Server1 ha una serie di mountpoint locali che arrivano da server2, server3 ecc?
Server1 fa girare il programma che interroga server2, server3, server4 ecc?
In pratica, quale server deve fare i controlli e quale server ha montato i percorsi di rete?
Secondo me, da quel poco che ho capito della tua descrizione parziale, ti stai ponendo un problema inutile...
Prova a spiegare bene chi fa cosa, partendo appunto da "chi" ha i mount point collegati e da "chi" invece li condivide, da chi fa girare il programmino di pulizia ecc
Nel frattempo abbiamo avuto conferma direttamente da uno sviluppatore Microsoft Italia il quale, dopo aver effettuato ricerche al suo interno, ha confermato che il framework .net non offre strumenti che possano risolvere questo problema tramite un'unica applicazione. Occorre perforza intervenire anche sui server che si vuole interrogare.
@Dascos, provo a riassumere la situazione in maniera diversa perche' mi incuriosisce comunque la tua idea.
- Io non ho alcun controllo su quello che fa l'utente, ne posso indicare linee guida sulla condivisione delle cartelle sui vari server.
- In una lan ci sono N server.
- L'applicazione gira con i diritti da amministratore sul server ServerA.
- L'applicazoine deve effettuare ricerche sul Server1, sul Server2, sul ServerN, sul PcUtente Pc999.
- Tutti i path da monitorare sono visibili da ServerA.
- Server2 ha un path condiviso che va monitorato, "\\Server2\e$\Root1", raggiungibile con utente Admin.
- Un utente in un qualsiasi momento crea la seguente cartella direttamente sul Server2: "\\Server2\e$\Root1\Cliente\XXX". Deve rendere visibile la cartella XXX ad un utente esterno, quindi per motivi di sicurezza la condivide con nome "CartellaCondivisa", raggiungibile tramite "\\Server2\CartellaCondivisa" con l'utente "Guest123".
- L'utente Guest123 (oppure l'utente Admin) crea la cartella "\\Server2\e$\Root1\Cliente\XXX\YYY".
Quindi "\\Server2\CartellaCondivisa" e "\\Server2\e$\Root1\Cliente\XXX" sono in realt� la stessa cartella e in entrambi i casi sono sottocartelle di "\\Server2\e$\Root1".
Allo stesso modo, "\\Server2\CartellaCondivisa\YYY" e "\\Server2\e$\Root1\Cliente\XXX\YYY" sono la stessa cosa e in entrambi i casi sono sottocartelle di "\\Server2\e$\Root1".
Su tutte le sottocartelle di "\\Server2\e$\Root1" devo essere in grado di compiere delle azioni, tranne che nelle sottocartelle di "\\Server2\CartellaCondivisa", nelle quali devo compiere azioni diverse.
Ma come faccio a capire che "\\Server2\CartellaCondivisa" e' una sottocartella di "\\Server2\e$\Root1"?
Se non lo capisco, in "\\Server2\e$\Root1\Cliente\XXX" compio le stesse azioni di "\\Server2\e$\Root1" essendo XXX una sua sottocartella.