Мислим да сте и ви, као и ја, видели овакве стазе више пута !!! Важно____Ново____!!! Не брисати Наредба бр.98819-649-Б од 30 о именовању Ивана Александровича Козлова за привременог вршиоца дужности шефа одељења за подршку корпоративним ВИП клијентима и организовање пословних састанака на маргинама.доц.
И често нећете моћи одмах да отворите такав документ у Виндовс-у. Неки људи практикују решење у виду мапирања диска, други користе менаџере датотека који могу да раде са дугим путевима: Фар Манагер, Тотал Цоммандер и слично. И многи су са тугом гледали како ПС сценарио који су креирали, у који је уложено много труда и који је у тестном окружењу радио са праском, у продукцијском окружењу беспомоћно жалио на немогућ задатак: Наведена путања, име датотеке или оба су предугачка. Потпуно квалификовано име датотеке мора бити мање од 260 знакова, а име директоријума мора бити мање од 248 знакова.
Како се испоставило, 260 знакова је довољно „не само за свакога“. Ако сте заинтересовани да пређете границе дозвољеног, обратите се мачку.
Ево само неких од несрећних последица ограничавања дужине путање датотеке:
постоји фасцикла на серверу, на пример, Д:ДатаСхаредАццоунтинг, која се дели преко СМБ и монтира се на кориснике као мрежни диск С; корисници креирају датотеке које администратори/скрипте не могу да прочитају када им се приступа локално са сервера, јер апсолутна путања је дужа од мрежне путање;
при миграцији података из других система који имају мање строга ограничења дужине путање, у новом окружењу неки од њих ће постати недоступни без плесања уз тамбуру;
Мало одступајући од теме, напомињем да за ДФС репликацију проблем о коме се говори у чланку није страшан и датотеке са дугим именима успешно путују са сервера на сервер (ако је, наравно, све остало урађено како треба).
Такође бих желео да вам скренем пажњу на веома користан услужни програм који ми је више пута помогао робоцопи. Такође се не плаши дугих путева, а може много. Стога, ако се задатак своди на копирање/преношење података о фајлу, можете стати на томе. Ако треба да играте трикове са листама за контролу приступа систему датотека (ДАЦЛ), скренете поглед субинацл. Упркос поодмаклој старости, одлично се показао на Виндовс 2012 Р2. Овде разматрају се начини примене.
Био сам заинтересован да научим како да радим са дугим ПоверСхелл путањама. Са њим је скоро као у брадатом виц о Ивану Царевичу и Василиси Лепој.
Брзи начин
Пређите на Линук и не брините за Виндовс 10/2016/2019 и омогућите одговарајућу поставку групних политика/подесите регистар. Нећу се детаљније задржавати на овој методи, јер... Већ постоји много чланака на ову тему на Интернету, нпр. ово.
С обзиром да већина компанија има много, најблаже речено, не најновијих верзија оперативних система, овај метод је брз само за писање на папиру, осим ако, наравно, нисте један од оних срећника који имају мало старих система и Виндовс 10 /2016/2019 царује .
Дуг пут
Хајде да одмах резервишемо овде да промене неће утицати на понашање Виндовс Екплорер-а, али ће омогућити коришћење дугих путања у ПоверСхелл цмдлетима, као што су Гет-Итем, Гет-ЦхилдИтем, Ремове-Итем, итд.
Прво, хајде да ажурирамо ПоверСхелл. Ради се један, два, три пута.
Ажурирамо .НЕТ Фрамеворк на верзију не нижу од 4.5. Оперативни систем мора да буде најмање Виндовс 7 СП1/2008 Р2. Можете преузети тренутну верзију овде, прочитајте више информација овде.
Преузми и инсталирајте Виндовс Манагемент Фрамеворк 5.1
Поново покрећемо машину.
Вредни људи могу да ураде горе описане кораке ручно, лењи људи могу то да ураде уз помоћ СЦЦМ-а, политика, скрипти и других алата за аутоматизацију.
Тренутна верзија ПоверСхелл-а може се пронаћи из променљиве $ПСВерсионТабле. Након ажурирања требало би да изгледа отприлике овако:
Сада када користите цмдлете Гет-ЦхилдИтем и слично уместо уобичајеног Путања користићемо ЛитералПатх.
За практичност претварања путања из уобичајеног формата у формат ЛитералПатх можете користити ову функцију:
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"}
}
Имајте на уму да приликом подешавања параметра ЛитералПатх Не можете користити џокере (*, ? и тако даље).
Поред параметра ЛитералПатх, у ажурираној верзији ПоверСхелл цмдлета Гет-ЦхилдИтем добио параметар Дубина, са којим можете подесити дубину гнежђења за рекурзивну претрагу, користио сам га пар пута и био сам задовољан.
Сада не морате да бринете да ће ваша ПС скрипта залутати дуж дугог трновитог пута и неће моћи да види удаљене датотеке. На пример, овај приступ ми је много помогао при писању скрипте за ресетовање „привременог“ атрибута датотека у ДФСР фасциклама. Али то је друга прича, коју ћу покушати да испричам у другом чланку. Радујем се вашим интересантним коментарима и предлажем да попуните анкету.