Pensu chì voi, cum'è mè, avete vistu chjassi cusì più di una volta !!! Impurtante____Novu____ !!! Ùn sguassate!!!Ordine N ° 98819-649-B di u 30 di ferraghju di u 1985 nantu à l'appuntamentu di Ivan Aleksandrovich Kozlov cum'è capu temporaneu di u dipartimentu per u sustegnu di i clienti VIP corporativi è l'urganizazione di riunioni d'affari fora di linea.doc.
È spessu ùn puderete micca apre un tali documentu in Windows subitu. Certi pirsuni praticanu solu solu in forma di mapping di discu, altri utilizanu file managers chì ponu travaglià cù longu camini: Far Manager, Total Commander è simili. E parechji altri anu vistu cun tristezza cum'è u script PS chì anu creatu, in quale assai travagliu hè statu investitu è chì hà travagliatu cù un bang in l'ambienti di prova, in un ambiente di produzzione impotente si lamentava di un compitu impussibile: U percorsu specificatu, u nome di u schedariu, o i dui sò troppu longu. U nome di u schedariu cumpletamente qualificatu deve esse menu di 260 caratteri, è u nome di u cartulare deve esse menu di 248 caratteri.
Comu risulta, 260 caratteri sò abbastanza "micca solu per tutti". Sè site interessatu à andà oltre i limiti di ciò chì hè permessu, fate un riferimentu à u cat.
Eccu alcuni di e cunsequenze disgraziate di a limitazione di a lunghezza di u percorsu di u schedariu:
ci hè un cartulare nant'à u servore, per esempiu, D:DataSharedAccounting, chì hè spartutu via SMB è muntatu à l'utilizatori cum'è una unità di rete S; l'utilizatori creanu schedarii chì l'admins / scripts ùn ponu micca leghje quandu accede in u locu da u servitore, perchè u caminu assolutu hè più longu cà u caminu di a reta;
quandu migrate dati da altri sistemi chì anu restrizioni menu strette nantu à a lunghezza di u percorsu, in u novu ambiente alcuni di elli diventeranu inaccessibili senza ballà cù un tamburinu;
Diverging un pocu da u tema, aghju nutatu chì per a replicazione DFS u prublema discutitu in l'articulu ùn hè micca terribili è i schedari cù nomi longu viaghjanu cù successu da u servitore à u servitore (se, sicuru, tuttu u restu hè fattu bè).
Vogliu ancu attirà a vostra attenzione à una utilità assai utile chì m'hà aiutatu più di una volta robocopia. Ùn hè ancu a paura di camini longu, è pò fà assai. Dunque, s'è u compitu s'assumiglia à cupià / trasferimentu di dati di u schedariu, pudete firmà quì. Sè avete bisognu di ghjucà i trucchi cù listi di cuntrollu di l'accessu à u sistema di file (DACL), fighjate luntanu subinacl. Malgradu a so età avanzata, hà fattu eccellenti in Windows 2012 R2. ccà i metudi di applicazione sò cunsiderati.
Eru interessatu à insignà cumu travaglià cù camini longu di PowerShell. Cun ellu hè quasi cum'è in un scherzu barbutu annantu à Ivan Tsarevich è Vasilisa a Bella.
Modu rapidu
Cambia à Linux è ùn vi preoccupate micca di Windows 10/2016/2019 è attivate l'impostazione di pulitica di u gruppu adattata / aghjustate u registru. Ùn aghju micca detta in stu metudu, perchè ... Ci sò digià assai articuli nantu à questu tema in Internet, per esempiu, questu.
In cunsiderà chì a maiò parte di l'imprese anu parechje, per dì un pocu, micca l'ultime versioni di sistemi operativi, stu metudu hè rapidu solu per scrive nantu à carta, salvu chì, sicuru, site unu di quelli furtunati chì anu pochi sistemi legati è Windows 10. /2016/2019 regna supremu.
A longa strada
Facemu immediatamente una riservazione quì chì i cambiamenti ùn affettanu micca u cumpurtamentu di l'Explorer di Windows, ma permettenu di utilizà percorsi longu in i cmdlets PowerShell, cum'è Get-Item, Get-ChildItem, Remove-Item, etc.
Prima, aghjurnemu PowerShell. Hè fattu una, duie, trè volte.
Aghjurnà u .NET Framework à a versione micca più bassa di 4.5. U sistema operatore deve esse almenu Windows 7 SP1/2008 R2. Pudete scaricà a versione attuale ccà, leghje più infurmazione ccà.
Scaricà è installate Windows Management Framework 5.1
Riavviamu a macchina.
I travagliadori pò fà i passi descritti sopra manualmente, i pigri pò fà cù l'aiutu di SCCM, pulitiche, scripts è altri arnesi d'automatizazione.
A versione attuale di PowerShell pò esse truvata da a variabile $PSVersionTable. Dopu à l'aghjurnamentu, deve esse simile à questu:
Avà quandu si usa cmdlets Get-ChildItem è simili invece di u solitu Caminu avemu aduprà LitteralPath.
Per a comodità di cunvertisce camini da u formatu di solitu à u furmatu LitteralPath pudete aduprà sta funzione:
Function ConvertTo-LiteralPath
Param([parameter(Mandatory=$true, Position=0)][String]$Path)
If ($Path.Substring(0,2) -eq "") {Return ("?UNC" + $Path.Remove(0,1))}
Else {Return "?$Path"}
}
Per piacè nutate chì quandu stabilisce u paràmetru LitteralPath Ùn pudete micca aduprà i caratteri cumedichi (*, ? etc.)
In più di u paràmetru LitteralPath, in a versione aghjurnata di PowerShell cmdlet Get-ChildItem uttene u paràmetru Sicurezza, cù quale pudete stabilisce a prufundità di nidificazione per a ricerca recursiva, l'aghju utilizatu un paru di volte è era cuntentu.
Avà ùn devi micca preoccupatu chì u vostru script PS andarà per via di a longa strada spinosa è ùn puderà micca vede i fugliali distanti. Per esempiu, stu approcciu m'hà aiutatu assai quandu scrivite un script per resettate l'attributu "temporary" di i schedari in i cartulare DFSR. Ma questu hè un'altra storia, chì pruvaraghju à cuntà in un altru articulu. Aspettu cumenti interessanti da voi è vi suggerisce di piglià l'indagine.