Sa tingin ko, ikaw, tulad ko, ay nakakita ng mga landas na tulad nito nang higit sa isang beses !!! Mahalaga____Bago____!!! Huwag tanggalin!!! Order No. 98819-649-B na may petsang Pebrero 30, 1985 sa paghirang kay Ivan Aleksandrovich Kozlov bilang pansamantalang kumikilos na pinuno ng departamento para sa pagsuporta sa mga kliyenteng VIP ng korporasyon at pag-aayos ng mga pulong sa negosyo sa sidelines.doc.
At kadalasan ay hindi mo mabubuksan kaagad ang naturang dokumento sa Windows. Ang ilang mga tao ay nagsasagawa ng workaround sa anyo ng disk mapping, ang iba ay gumagamit ng mga file manager na maaaring gumana sa mahabang landas: Far Manager, Total Commander at iba pa. At marami pang iba ang nanood nang may kalungkutan habang ang PS script na kanilang nilikha, kung saan maraming trabaho ang namuhunan at kung saan ay nagtrabaho nang malakas sa kapaligiran ng pagsubok, sa isang kapaligiran ng produksyon ay walang magawa na nagreklamo tungkol sa isang imposibleng gawain: Masyadong mahaba ang tinukoy na path, pangalan ng file, o pareho. Ang ganap na kwalipikadong pangalan ng file ay dapat na mas mababa sa 260 character, at ang pangalan ng direktoryo ay dapat na mas mababa sa 248 character.
Sa lumalabas, sapat na ang 260 character "hindi lang para sa lahat." Kung interesado kang lumampas sa mga hangganan ng kung ano ang pinahihintulutan, mangyaring sumangguni sa pusa.
Narito ang ilan lamang sa mga kapus-palad na kahihinatnan ng paglilimita sa haba ng landas ng file:
mayroong isang folder sa server, halimbawa, D:DataSharedAccounting, na ibinabahagi sa pamamagitan ng SMB at naka-mount sa mga user bilang isang network drive S; Gumagawa ang mga user ng mga file na hindi mabasa ng mga admin/script kapag na-access nang lokal mula sa server, dahil ang absolute path ay mas mahaba kaysa sa network path;
kapag naglilipat ng data mula sa iba pang mga system na may hindi gaanong mahigpit na mga paghihigpit sa haba ng landas, sa bagong kapaligiran ang ilan sa mga ito ay magiging hindi naa-access nang hindi sumasayaw na may tamburin;
Bahagyang lumihis sa paksa, napapansin ko na para sa DFS Replication ang problemang tinalakay sa artikulo ay hindi kakila-kilabot at ang mga file na may mahabang pangalan ay matagumpay na naglalakbay mula sa server patungo sa server (kung, siyempre, lahat ng iba pa ay ginawa ng tama).
Gusto ko ring ituon ang iyong pansin sa isang napaka-kapaki-pakinabang na utility na nakatulong sa akin nang higit sa isang beses robocopy. Hindi rin siya natatakot sa mahabang landas, at marami siyang magagawa. Samakatuwid, kung ang gawain ay bumagsak sa pagkopya/paglipat ng data ng file, maaari kang huminto doon. Kung kailangan mong maglaro gamit ang mga file system access control list (DACLs), tumingin sa malayo subinacl. Sa kabila ng katandaan nito, mahusay itong gumanap sa Windows 2012 R2. Dito ang mga paraan ng aplikasyon ay isinasaalang-alang.
Interesado akong magturo kung paano magtrabaho sa mahabang PowerShell path. Sa kanya ito ay halos tulad ng sa isang may balbas na biro tungkol kay Ivan Tsarevich at Vasilisa the Beautiful.
Mabilis na paraan
Lumipat sa Linux at huwag mag-alala tungkol sa Windows 10/2016/2019 at paganahin ang naaangkop na setting ng patakaran ng grupo/i-tweak ang registry. Hindi ko tatalakayin nang detalyado ang pamamaraang ito, dahil... Mayroon nang maraming mga artikulo sa paksang ito sa Internet, halimbawa, ito.
Isinasaalang-alang na ang karamihan sa mga kumpanya ay may marami, sa madaling salita, hindi ang pinakabagong mga bersyon ng mga operating system, ang pamamaraang ito ay mabilis lamang para sa pagsusulat sa papel, maliban kung, siyempre, isa ka sa mga masuwerteng iyon na may kaunting mga legacy system at Windows 10 /2016/2019 ang naghahari .
Ang mahabang daan
Agad tayong magpareserba dito na ang mga pagbabago ay hindi makakaapekto sa gawi ng Windows Explorer, ngunit gagawing posible na gumamit ng mahahabang landas sa PowerShell cmdlet, gaya ng Get-Item, Get-ChildItem, Remove-Item, atbp.
Una, i-update natin ang PowerShell. Ginagawa ito ng isa, dalawa, tatlong beses.
Ina-update namin ang .NET Framework sa bersyon na hindi bababa sa 4.5. Ang operating system ay dapat na hindi bababa sa Windows 7 SP1/2008 R2. Maaari mong i-download ang kasalukuyang bersyon dito, magbasa ng higit pang impormasyon dito.
Pag-download at i-install ang Windows Management Framework 5.1
I-reboot namin ang makina.
Maaaring gawin ng mga masisipag na tao ang mga hakbang na inilarawan sa itaas nang manu-mano, magagawa ito ng mga tamad sa tulong ng SCCM, mga patakaran, script at iba pang mga tool sa automation.
Ang kasalukuyang bersyon ng PowerShell ay makikita mula sa variable $PSVersionTable. Pagkatapos ng pag-update dapat itong magmukhang ganito:
Ngayon kapag gumagamit ng mga cmdlet Get-ChildItem at ang katulad sa halip na karaniwan Landas gagamitin natin literalPath.
Para sa kaginhawaan ng pag-convert ng mga landas mula sa karaniwang format patungo sa format literalPath maaari mong gamitin ang function na ito:
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"}
}
Pakitandaan na kapag nagtatakda ng parameter literalPath Hindi ka maaaring gumamit ng mga wildcard (*, ? at iba pa).
Bilang karagdagan sa parameter literalPath, sa na-update na bersyon ng PowerShell cmdlet Get-ChildItem nakuha ang parameter Lalim, kung saan maaari mong itakda ang lalim ng nesting para sa recursive na paghahanap, ginamit ko ito ng ilang beses at nasiyahan.
Ngayon ay hindi mo na kailangang mag-alala na ang iyong PS script ay maliligaw sa mahabang matitinik na landas at hindi na makikita ang malalayong mga file. Halimbawa, ang diskarteng ito ay nakatulong nang malaki sa akin noong nagsusulat ng script para i-reset ang "pansamantalang" katangian ng mga file sa mga folder ng DFSR. Ngunit iyan ay isa pang kuwento, na susubukan kong sabihin sa ibang artikulo. Inaasahan ko ang mga kawili-wiling komento mula sa iyo at iminumungkahi kong kunin mo ang survey.