Mwen panse ke ou, tankou mwen, te wè chemen tankou sa a plis pase yon fwa !!! Enpòtan____Nouvo____!!! Pa efase!!! Lòd No sou randevou Ivan Aleksandrovich Kozlov kòm tèt tanporè aji nan depatman an pou sipòte kliyan antrepriz VIP ak òganize reyinyon biznis sou bò liy yo.doc.
Epi souvan ou pa pral kapab louvri tankou yon dokiman nan Windows touswit. Gen kèk moun ki pratike solisyon an nan fòm lan nan kat disk, lòt moun sèvi ak administratè dosye ki ka travay ak chemen long: Manadjè Far, Total Commander ak renmen an. Ak anpil lòt te gade ak tristès kòm script PS yo te kreye, nan ki yon anpil nan travay yo te envesti epi ki te travay ak yon bang nan anviwònman tès la, nan yon anviwònman pwodiksyon san sekou plenyen sou yon travay enposib: Chemen espesifye a, non fichye a, oswa toude yo twò long. Non fichye totalman kalifye a dwe mwens pase 260 karaktè, epi non anyè a dwe mwens pase 248 karaktè.
Kòm li sanble, 260 karaktè se ase "pa sèlman pou tout moun." Si w enterese ale pi lwen pase limit sa ki pèmèt, tanpri al gade chat la.
Men kèk nan konsekans malere lè limite longè chemen fichye a:
gen yon katab sou sèvè a, pou egzanp, D:DataSharedAccounting, ki pataje atravè SMB epi monte itilizatè yo kòm yon kondwi rezo S; itilizatè yo kreye dosye ke admins / scripts pa ka li lè yo jwenn aksè lokalman nan sèvè a, paske chemen absoli a pi long pase chemen rezo a;
lè migrasyon done ki soti nan lòt sistèm ki gen restriksyon mwens sevè sou longè chemen an, nan nouvo anviwònman an kèk nan yo ap vin inaksesib san yo pa danse ak yon tanbourin;
Diferans yon ti kras de sijè a, mwen remake ke pou DFS Replication pwoblèm nan diskite nan atik la se pa terib ak dosye ki gen non long avèk siksè vwayaje soti nan sèvè nan sèvè (si, nan kou, tout lòt bagay se fè byen).
Mwen ta renmen tou atire atansyon ou sou yon sèvis piblik trè itil ki te ede m 'soti plis pase yon fwa robokopi. Li pa pè tou pou chemen long, epi li ka fè anpil. Se poutèt sa, si travay la klou desann nan kopye / transfere done dosye, ou ka sispann la. Si ou bezwen jwe ke trik nouvèl ak lis kontwòl aksè sistèm dosye (DACLs), gade lwen subinacl. Malgre laj avanse li, li te fè ekselan sou Windows 2012 R2. Isit la metòd aplikasyon yo konsidere.
Mwen te enterese nan anseye kijan pou travay ak chemen PowerShell long. Avè l 'se prèske tankou nan yon blag bab sou Ivan Tsarevich ak Vasilisa bèl la.
Fason rapid
Chanje nan Linux epi pa enkyete w sou Windows 10/2016/2019 epi pèmèt anviwònman politik gwoup apwopriye / ajiste rejis la. Mwen pa pral rete sou metòd sa a an detay, paske ... Gen deja anpil atik sou sijè sa a sou entènèt la, pou egzanp, sa a.
Lè nou konsidere ke pifò konpayi yo gen anpil, pou mete li léjèrman, pa dènye vèsyon yo nan sistèm opere, metòd sa a rapid sèlman pou ekri sou papye, sof si, nan kou, ou se youn nan moun ki gen chans ki gen kèk sistèm eritaj ak Windows 10. /2016/2019 gouvènen siprèm .
Chemen an long
Se pou nou imedyatman fè yon rezèvasyon isit la ke chanjman yo pa pral afekte konpòtman an nan Windows Explorer, men yo pral fè li posib yo sèvi ak chemen long nan cmdlets PowerShell, tankou Get-Item, Get-ChildItem, Retire-Item, elatriye.
Premyèman, ann mete ajou PowerShell. Li fè youn-de-twa fwa.
Nou mete ajou .NET Framework nan vèsyon ki pa pi ba pase 4.5. Sistèm operasyon an dwe omwen Windows 7 SP1/2008 R2. Ou ka telechaje vèsyon aktyèl la isit la, li plis enfòmasyon isit la.
Telechaje epi enstale Windows Management Framework 5.1
Nou rdemare machin nan.
Moun k ap travay di ka fè etap sa yo dekri pi wo a manyèlman, moun parese ka fè li avèk èd nan SCCM, politik, scripts ak lòt zouti automatisation.
Ou ka jwenn vèsyon aktyèl PowerShell nan varyab la $PSVersionTable. Apre aktyalizasyon a li ta dwe gade yon bagay tankou sa a:
Koulye a, lè w ap itilize cmdlets Jwenn-ChildItem ak tankou olye pou yo nòmal la Path nou pral itilize LiteralPath.
Pou konvenyans nan konvèti chemen soti nan fòma nòmal la nan fòma a LiteralPath ou ka itilize fonksyon sa a:
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"}
}
Tanpri sonje ke lè w ap mete paramèt la LiteralPath Ou pa ka itilize joker (*, ? ak sou sa).
Anplis paramèt la LiteralPath, nan vèsyon ki ajou PowerShell cmdlet Jwenn-ChildItem te resevwa paramèt la Pwofondè, ak ki ou ka mete pwofondè an nidifikasyon pou rechèch repetitif, mwen te itilize li yon koup de fwa e li te satisfè.
Koulye a, ou pa bezwen enkyete ke script PS ou a pral pèdi wout sou chemen an pikan long epi yo pa yo pral kapab wè dosye byen lwen. Pa egzanp, apwòch sa a te ede m anpil lè m te ekri yon script pou réinitialiser atribi "tanporè" dosye ki nan dosye DFSR yo. Men, sa a se yon lòt istwa, ke mwen pral eseye rakonte nan yon lòt atik. Mwen tann kòmantè enteresan nan men ou epi sijere ou pran sondaj la.