Modifica in bulk di collegamenti a cartelle di rete (Batch e VBScript)

| |

Modifica in bulk di collegamenti a cartelle di rete (Batch e VBScript) 1Uno di quei lavori che se doveste fare a mano per ciascun client dell’azienda vi ritrovereste ad andare in pensione prima di aver terminato l’intervento. Dato un numero non meglio definito di collegamenti a cartelle di rete tipicamente salvati sul Desktop utente, occorrerà modificare il puntamento da $vecchioserver a $nuovoserver. Un lavoro banale se fatto a mano da ciascun utente ma spesso -sfortunatamente- chiedere queste cose all’utente finale è un po’ come spostare una montagna a mani nude.

Ho cercato online qualcosa dalla quale partire e ho trovato ancora una volta una via di fuga tramite VBScript, pressoché perfetta per questo caso. Il codice VBS originale è di Rob Dunn (sei un santo, ragazzo, un vero santo) e lo trovate all’indirizzo community.spiceworks.com/scripts/show/298-change-shortcut-lnk-target-paths-in-bulk. Io l’ho leggermente modificato per accettare dei parametri dall’esterno (così sarà facilmente richiamabile da file batch, nel mio specifico caso al logon di un utente al dominio). Ne ho forzato la modalità “silent” per evitare che chieda qualsiasi cosa all’utente (e ho anche rimosso le parti di codice che se ne occupano nello script originale, ndr) ed evitare in ultimo che venga mostrato il log delle operazioni che rimarrà comunque disponibile sul client in %TEMP%\BulkShortcut.htm.

Ho caricato lo script modificato e i richiami in batch su Github e trovate il tutto qui: gist.github.com/gioxx/11403345.

Giusto per capirci: una volta caricato il VBS su un server accessibile per i vostri utenti vi basterà richiamarlo tramite una semplice riga nel netlogon:

cscript \\%USERDNSDOMAIN%\netlogon\scripts\BulkShortcut.vbs //B "\\SERVER1\" "\\SERVER3\shared\"

Questo permetterà al VBScript di prendere tutti i collegamenti sul Desktop analizzandoli e cercando quelli che puntano attualmente su SERVER1 per modificarli e farli puntare a SERVER3. Occhio, il VBScript potrebbe accettare un terzo parametro. Dopo cosa cercare e come modificarlo potreste specificare anche la directory all’interno della quale fare il lavoro, nel caso in cui non sia il Desktop la vostra casa base. Potreste quindi lanciare un ipotetico:

cscript \\%USERDNSDOMAIN%\netlogon\scripts\BulkShortcut.vbs //B "\\SERVER1\" "\\SERVER3\shared\" "C:\Temp"

Che forzerà così l’operazione in C:\Temp contrariamente a quanto stabilito di default all’interno del codice.

Il lavoro è molto rapido e completamente invisibile agli occhi dell’utente che potrà quindi fare clic sulle icone che ha lasciato l’ultima volta sul suo Desktop senza accorgersi che queste puntano altrove.

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Inline Feedbacks
View all comments