Con i sistemi Windows 7 e successivi è stata (finalmente) introdotta la possibilità di creare cosiddetti collegamenti simbolici a files o cartelle – soluzione che si presta a diversi impieghi.
Uno dei problemi è che se questi collegamenti sono residenti su unità di rete (cioè esistono sui dischi del server), per impostazione predefinita non ne è possibile l'utilizzo. Ad esempio, tentando di accedere ad una cartella su un'unità di rete che è in realtà un collegamento ad un'altra cartella, vien visualizzato il messaggio:
Impossibile visitare il collegamento simbolico. Il tipo del collegamento è disabilitato.
Al di là di verificare eventuali altri prerequisiti – p.e. l'impiego di un protocollo di comunicazione (SMB 2.0+) e di sistemi operativi (WIN7+) che siano in grado di “capire” il concetto di link simbolico – è importante sottolineare che i collegamenti simbolici sono interpretati dal client, e che pertanto non possono fare riferimento a files o cartelle inaccessibili da questo, sia per motivi tecnici sia per problemi legati alla sicurezza.
Questo comportamento è però configurabile.
Per impostazione predefinita è attivata l'interpretazione di collegamenti locali che si riferiscono a oggetti locali, e – in alcuni sistemi – dei collegamenti locali che si riferiscono ad oggetti in rete.
Quello che ci serve è attivarla per i collegamenti in rete che si riferiscono ad oggetti in rete. Si può fare, da linea di comando, tramite l'utility fsutil
.
Si procede così:
fsutil behavior set SymlinkEvaluation R2R:1
R2R
stà per remote-to-remote, vale a dire “collegamenti in rete a oggetti in rete”.
Altre impostazioni sono L2L
(local-to-local, attivato per impostazione predefinita), L2R
(local-to-remote, normalmente attivato) e R2L
(remote-to-local, di solito non attivo).
Il suffissi :1
stà per “attiva”, mentre un eventuale :0
significa “disattiva”.
Il comando fsutil behavior query SymlinkEvaluation
consente di interrogare lo stato di questo parametro.