Archives For Microsoft Windows 2003

Nelle puntate precedenti ti ho parlato di svariati metodi per scavalcare agilmente l’ostacolo posto dai nomi dei file troppo lunghi, punto di debolezza Microsoft Windows da una vita. Si è parlato di 7-Zip (Nome del file troppo lungo: come aggirare facilmente il problema), di Robocopy per recuperare copie shadow di dati (Nome del file troppo lungo: Robocopy corre in soccorso), di LongPathEraser per una cancellazione immediata di file e cartelle (Eliminare file con nomi troppo lunghi su Windows (LPE)). Oggi facciamo insieme una rapida panoramica su PowerShell, Long Path Fixer e Registro di Windows nel caso in cui si voglia dare un pelo più di spinta alla profondità nomi e cartelle di Windows.

Microsoft Windows, Photo by Johny vino

La modifica sul Registro di Sistema

In teoria dovrebbe trattarsi della modifica più semplice, subito dopo la quale (servirà un riavvio del PC, NdR) Windows inizierà a digerire meglio i percorsi file e cartelle più lunghi. Occhio però, la modifica sarà funzionante per il tuo PC, non per quello di chiunque altro avrà a che fare con la medesima cartella (perché anche la persona dall’altro lato dovrebbe eseguire la medesima modifica).

La chiave da ritoccare è la LongPathsEnabled che si trova in HKLM\SYSTEM\CurrentControlSet\Control\FileSystem, da portare a 1 (perché di default dovrebbe essere impostata a 0).

Nome del file troppo lungo: ulteriori alternative (Long Path Fixer)

Inutile dire che la modifica può essere operata anche a livello di GPO se il tuo parco macchine fa parte di un dominio Microsoft. Se vuoi ritoccare la chiave direttamente da prompt dei comandi puoi usare il comando:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f

Questo sovrascriverà direttamente il valore predefinito della chiave.

Muoversi con PowerShell

PowerShell può lavorare anche con percorsi di file e cartelle più lunghi del dovuto, consentendoti di copiare o spostare quei dati ovunque tu voglia. I comandi che entrano in gioco sono Copy-Item e Move-Item ma anche Remove-Item quando c’è da cancellare qualcosa senza necessità di muoverla altrove.

Apri la PowerShell, spostati nella cartella all’interno della quale stai avendo problemi di percorso troppo lungo (il classico cd C:\[..] eccetera [...]\NomeCartellaProblematica) e:

  • lancia un Copy-Item NomeCartella-o-NomeFile -Destination NuovaCartella -Recurse se vuoi copiare un’intera cartella o uno specifico file (quel NomeCartella-o-NomeFile necessariamente da sostituire) nella nuova posizione (quel NuovaCartella che andrà sostituito chiaramente con ciò che ti serve realmente).
  • Lancia un Move-Item NomeCartella-o-NomeFile -Destination NuovaCartella per spostare i dati (non copiarli come da precedente punto della lista).
  • Lancia un Remove-Item NomeCartella-o-NomeFile -Recurse per cancellare i dati (siano essi file o cartelle).

Long Path Fixer

Questo è uno strumento gratuito che ti evita di doverti muovere tramite PowerShell, comodo quindi se non ti senti troppo sicuro o se non hai mai avuto a che fare con il potente strumento di Microsoft. È l’alternativa liberamente scaricabile del commerciale Long Path Tool (che viene definito in maniera molto colorita nella home page di Long Path Fixer, NdR), lo trovi su corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php ed esiste sia in versione 32 che 64 bit, nasce inoltre Portable senza necessità alcuna di installazione.

Una volta avviato non ti proporrà assolutamente nulla. Finestra vuota, interfaccia scarna, dovrai trascinare la cartella che ti sta dando problemi all’interno di Long Path Fixer per poterla esplorare, in alternativa potrai arrivarci percorrendo tutto il cammino selezionando dal menu a discesa il disco principale, il resto è tutto un doppio clic per passare da una cartella all’altra.

Nome del file troppo lungo: ulteriori alternative (Long Path Fixer) 2

Potrai spostare, copiare o cancellare file e cartelle esattamente come faresti con PowerShell, in maniera evidentemente più semplice per chiunque. Lo strumento funziona senza colpo ferire, fa il suo dovere e tu hai appena risolto la più classica delle beghe spesso causata dalla cattiva abitudine di dare nomi troppo lunghi ai file o troppa profondità a livello di cartelle (quando non è così certo che ce ne sia reale bisogno).

Non mi resta che augurarti un buon lavoro!


Ringraziamenti vari:
helpdeskgeek.com/how-to/how-to-fix-filename-is-too-long-issue-in-windows
corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
Condividi l'articolo con i tuoi contatti:

Non ricordi male, sto per riportarti alla memoria un argomento in un certo senso già trattato in passato, più precisamente nel 2012 e nel 2015, con un paio di soluzioni proposte che hai potuto certamente utilizzare e che ti mostro ancora una volta qui di seguito:

Nome del file troppo lungo: come aggirare facilmente il problema

Nome del file troppo lungo: Robocopy corre in soccorso

Quello del nome troppo lungo di Windows è un problema che ci trasciniamo da secoli ormai, mai davvero risolto ma sempre in qualche maniera gestito e “portato a casa“, anche a costo di mappare virtualmente delle unità disco che permettevano di tranciare buona parte del percorso problematico nell’Esplora Risorse del sistema. Ciò che oggi ti propongo è qualcosa di leggermente diverso, utile non per rinominare un file dal nome (o profondità di cartelle) troppo lungo, bensì per eliminarlo direttamente, senza stare lì a impazzire con i metodi sopra riportati.

Il metodo in realtà è un’applicazione, e si chiama Long Path Eraser (LPE), utility gratuita messa a disposizione dagli stessi creatori di Iperius Backup. La trovi gratuitamente passando dal loro blog, all’indirizzo iperiusbackup.net/come-eliminare-una-cartella-con-percorso-lungo-long-path-eraser-free (ne trovi altrimenti una copia sul mio spazio Box, qui).

Eliminare file con nomi troppo lunghi su Windows

L’applicazione non necessita di installazione, puoi salvarla su chiave USB da portare sempre con te in caso di necessità (quella che ogni tecnico ha generalmente a disposizione, con i più svariati tool), quindi avviarla e utilizzarla. Una volta specificata la cartella da eliminare, potrai far partire il processo e attendere che questo termini (può impiegare anche diversi minuti, porta pazienza).

Buon lavoro.

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

windows.commandlineCi risiamo. Un articolo pubblicato neanche tanto tempo fa mi è nuovamente tornato utile, ed è quindi scattata la traduzione in batch, così da facilitare la mia vita ma anche quella di coloro che dovessero averne la necessità. Si torna quindi a parlare di sessioni RDP e relativa disconnessione da remoto.

Per evitare di dover ricordare i comandi (che poi sono anche semplici eh, lo sforzo è minimo), ho pensato di prendere ciò che ho già spiegato e renderlo più facilmente accessibile tramite batch, ovviamente rilasciato pubblicamente su Gist:

Di cosa si occupa lo script? Presto detto: richiamandolo da prompt e passandogli direttamente i parametri necessari (nome o IP del server dal quale disconnettere tutte le sessioni RDP, o singola utenza da disconnettere), effettuerà il lavoro senza ulteriori passaggi intermedi. Esempio pratico: dovete disconnettere l’utente Administrator da una delle vostre macchine, basterà lanciare il batch e dichiarando inoltre il server al quale agganciarsi:

RDPLogoff.cmd $NOMESERVER Administrator

Il risultato dovrebbe assomigliare a questo:

Disconnettere sessioni RDP da remoto: il batch

Se l’utente passato da prompt non dovesse essere collegato (o doveste averlo digitato male) otterrete un errore, un semplice nulla di fatto (e quindi non ci sarà da preoccuparsi). Per poter operare sul server dal quale disconnettere le sessioni appese, ricordate che dovrete essere almeno amministratori locali (di quella macchina), meglio se di dominio (ammesso che la macchina si trovi sullo stesso dominio).

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

windows.commandlineUn server applicativo, due sessioni contemporanee che possono essere utilizzate da altrettanti utenti (e più, ma sempre due alla volta al massimo), l’abitudine (sbagliata) del chiudere la finestra RDP con la classica X anziché effettuare un corretto logoff dal menu di Start. Così facendo, anche un amministratore potrebbe non riuscire a collegarsi al server. La domanda è quindi semplice: è possibile disconnettere da remoto le sessioni lasciate appese? La risposta è ovviamente si, basta essere collegati ad una macchina facente parte dello stesso dominio ed essere amministratori locali (o di dominio, appunto).

Io ho usato un semplice prompt dei comandi:

qwinsta /server:NOMESERVER

Sostituite (ovviamente) NOMESERVER con il nome o l’IP della macchina sulla quale volete verificare le sessioni attive da disconnettere in seguito e premete invio per confermare. Dovreste ottenere un risultato molto simile a questo:

Disconnettere sessioni RDP da remoto

A questo punto sarà necessario procedere al logoff delle sessioni (ammesso che siano realmente morte, occhio quindi a chi o cosa disconnettete). Cambia il comando, non lo scopo né tanto meno il metodo:

logoff /server:NOMESERVER 0 /v

Dove 0 sarà il numero di sessione che intendete disconnettere e NOMESERVER (come già detto) la macchina sulla quale operare. L’operazione, salvo errori, sarà pressoché immediata (giusto il tempo tecnico di disconnessione Windows). Potrete così riprendere possesso della macchina e permettere agli utenti di tornare a collegarsi, non prima di aver ribadito il concetto che il tasto di chiusura in alto a destra è da evitare come la peste bubbonica.

Buon lavoro.

× Le pillole del Dr.Mario

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Del nome del file troppo lungo ne avevamo già parlato in passato, se ben ricordate. Un problema che però non sempre può essere risolto tramite un trucco come quello utilizzato tempo addietro, che deve necessariamente permettere di spostare quei file altrimenti intoccabili, soprattutto quando si tratta di dati aziendali.

Nome del file troppo lungo: Robocopy corre in soccorso

È successo esattamente questo. Una manciata di file persi (eliminati dall’utente, ndr) in una precisa cartella, alcuni file impossibili da recuperare dalla funzione “Versioni Precedenti” di Windows perché contenenti troppi caratteri nel loro nome o troppe cartelle una dentro l’altra prima di arrivare al termine. Se ne può uscire, ecco come.

ATTENZIONE: Da qui in poi l’articolo prende quella brutta piega del “ma di cosa stai parlando?“. Se non capite quello che state per fare fermatevi e chiedete aiuto tramite l’area commenti. Se invece siete arrivati qui tramite una ricerca perché disperati nel tentativo di risolvere il vostro problema, benvenuti, siete nel posto giusto (e avete condiviso forse la mia stessa quantità di imprecazioni).

Non è banale, in realtà l’operazione è assolutamente delicata e necessita della massima attenzione. Un primo passaggio permetterà di individuare il giusto percorso della cartella del backup “shadow” di Windows. La seconda di recuperare i file copiandoli nella giusta posizione tramite Robocopy, piccola utility gratuita che quelli del mestiere conoscono molto bene. Quest’ultimo, in barba alle limitazioni imposte dal sistema, ignora bellamente il limite di caratteri di NTFS e permette la copia o lo spostamento di file e cartelle a prescindere dalla quantità di caratteri contenuti in esse.

La giusta cartella

È tutta una questione di posizione. Robocopy è in grado di leggere anche i sassi (e fonderli sulle montagne), basta passargli i giusti parametri. Quando andiamo a fare clic con il tasto destro / Proprietà / Versioni precedenti su una qualsiasi cartella (di un fileserver, ndr), questa restituirà la possibilità di visualizzare copie antecedenti all’accaduto (se opportunamente configurata):

Nome del file troppo lungo: Robocopy corre in soccorso 1

Facendo clic su Apri in corrispondenza di una versione della stessa cartella, si supporrà che l’indirizzo della stessa sia quello in testa (nella barra URL):

Nome del file troppo lungo: Robocopy corre in soccorso 2

Niente di più errato. Provando infatti a esplorare la cartella si otterrà un errore (lanciandola ad esempio da Start / Esegui). Per ottenere la giusta posizione della cartella padre (quindi anche della figlia) basterà fare clic con il tasto destro in una parte libera della finestra appena aperta e fare clic su Proprietà:

Nome del file troppo lungo: Robocopy corre in soccorso 3

A questo punto capite voi stessi che aggiungendo a fondo path (comprensivo del @GMT-eccetera) un “\CARTELLAFIGLIA” riuscirete nell’intento di esplorare la copia di backup creata da Windows, quindi di lavorarla tramite Robocopy.

Copia dei file

Se dovete recuperare tutto il contenuto della cartella contenuto nel backup (ciò che ho dovuto fare io e che vi riporto in questo articolo) vi basterà quindi richiamare Robocopy con i giusti parametri, /E (Copy Subfolders, including Empty Subfolders) e /COPYALL (Copy ALL file info), parametri che fanno parte di un set ben più nutrito disponibile su ss64.com/nt/robocopy.html.

In pratica il comando finale sarà molto simile a questo:

Robocopy.exe \\SERVER\CARTELLAPADRE\@GMT-2015.09.08-13.00.00\CARTELLAFIGLIA \\SERVER\CARTELLAPADRE\CARTELLAFIGLIA /E /COPYALL

Per raggiungere lo scopo mi è tornato estremamente utile questo riferimento su ServerFault, pur evitando la mappatura della cartella di backup tramite unità locale: serverfault.com/questions/285997/unable-to-restore-from-shadow-copy-due-to-long-filename?answertab=votes#tab-top. Il problema è rientrato, i file sono stati recuperati e l’utente è chiaramente contento (e io pure, dopo aver sudato sette camicie).

Condividi l'articolo con i tuoi contatti: