Та надтай адил хэлбэрийн замыг олонтаа харсан байх гэж бодож байна !!! Чухал____Шинэ____!!! Бүү устга!!!98819 оны 649-р сарын 30-ны өдрийн 1985-XNUMX-Б тоот тушаал. Корпорацийн VIP үйлчлүүлэгчдийг дэмжих, ажил хэргийн уулзалт зохион байгуулах хэлтсийн даргын үүрэг гүйцэтгэгчээр Иван Александрович Козловыг томилох тухай.doc.
Ихэнхдээ та Windows дээр ийм баримт бичгийг шууд нээх боломжгүй байдаг. Хэн нэгэн нь дискний зураглал хэлбэрээр тойрон гарах арга замыг ашигладаг бол хэн нэгэн нь урт замтай ажиллах боломжтой файлын менежерүүдийг ашигладаг: Far Manager, Total Commander гэх мэт. Маш их хөдөлмөр зарцуулж, туршилтын орчинд, байлдааны орчинд тэсрэлттэй ажиллаж байсан PS скриптийг хэрхэн бүтээсэн нь боломжгүй даалгаврын талаар арчаагүй гомдоллож байгааг олон хүн гунигтай харав. Заасан зам, файлын нэр эсвэл хоёулаа хэт урт байна. Бүрэн шаардлага хангасан файлын нэр 260 тэмдэгтээс бага, лавлах нэр нь 248 тэмдэгтээс бага байх ёстой.
260 тэмдэгт нь "зөвхөн хүн бүрт төдийгүй" хангалттай юм. Хэрэв та зөвшөөрөгдсөн хил хязгаараас давж гарах сонирхолтой байгаа бол би муурны доор асууж байна.
Файлын замын уртыг хязгаарлахын тулд цөөн хэдэн таагүй үр дагаварууд энд байна:
- сервер дээр хавтас байдаг, жишээлбэл, D:DataSharedAccounting, үүнийг SMB-ээр дамжуулан хуваалцдаг бөгөөд хэрэглэгчдэд сүлжээний хөтөч S болгон холбож өгдөг; хэрэглэгчид серверээс локал руу нэвтрэх үед админ / скрипт уншиж чадахгүй файлуудыг үүсгэдэг, учир нь үнэмлэхүй зам нь сүлжээний замаас урт;
роуминг профайлын синхрончлолын алдаа ;сүүдрийн хуулбараас сэргээхтэй холбоотой асуудлууд ;- Замын уртад бага хатуу хязгаарлалттай бусад системээс өгөгдлийг шилжүүлэх үед шинэ орчинд тэдгээрийн зарим нь хэнгэрэгээр бүжиглэхгүйгээр нэвтрэх боломжгүй болно;
хавтас дахь файлын хэмжээ, тоог тооцоолохдоо буруу өгөгдөл ;- гэх мэт ...
Сэдвээс бага зэрэг хазайсан бол DFS Replication-ийн хувьд нийтлэлд авч үзсэн асуудал тийм ч аймшигтай биш бөгөөд урт нэртэй файлууд серверээс сервер рүү амжилттай дамждаг (мэдээжийн хэрэг, өөрөөр хэлбэл та
Би бас нэг бус удаа надад тусалсан маш хэрэгтэй хэрэгсэлд анхаарлаа хандуулахыг хүсч байна
Би урт PowerShell замуудтай хэрхэн ажиллах талаар сурах сонирхолтой байсан. Түүнтэй бараг л Иван Царевич, Үзэсгэлэнт Василиса нарын тухай сахалтай хошигнол шиг.
Хурдан арга
Линукс руу шилжиж, Windows 10/2016/2019-ийн талаар санаа зовох хэрэггүй бөгөөд тохирох бүлгийн бодлогын тохиргоо/бүртгэлийн тохиргоог идэвхжүүлнэ үү. Би энэ аргын талаар дэлгэрэнгүй ярихгүй, учир нь. Интернет дээр энэ сэдвээр олон нийтлэл байдаг, жишээлбэл,
Ихэнх компаниудад үйлдлийн системийн шинэ хувилбар биш, зөөлрүүлж хэлэхэд олон байдгийг харгалзан үзвэл энэ арга нь зөвхөн цаасан дээр бичихэд маш хурдан бөгөөд хэрэв та хуучин систем, Windows үйлдлийн систем багатай азтай хүмүүсийн нэг биш л бол. 10/2016/2019 хаанчлал.
урт удаан зам
Энд бид нэн даруй захиалга хийж, өөрчлөлтүүд нь Windows Explorer-ийн үйл ажиллагаанд нөлөөлөхгүй, харин Get-Item, Get-ChildItem, Remove-Item гэх мэт PowerShell командууд дээр урт замыг ашиглах боломжтой болгоно.
Эхлээд PowerShell-ийг шинэчилье. Нэг, хоёр, гурав хийсэн.
- Бид .NET Framework-ийг хамгийн багадаа 4.5 хувилбар болгож шинэчилнэ. Үйлдлийн систем нь хамгийн багадаа Windows 7 SP1/2008 R2 байх ёстой. Одоогийн хувилбарыг татаж авах боломжтой
энд дэлгэрэнгүй мэдээллийг уншина ууэнд . Татаж авах болон Windows Management Framework 5.1 суулгана- Бид машиныг дахин ачаална.
Ажилсаг нь дээрх алхмуудыг гараар, залхуу нь SCCM, бодлого, скрипт болон бусад автоматжуулалтын хэрэгслүүдийн тусламжтайгаар хийж чадна.
PowerShell-ийн одоогийн хувилбарыг хувьсагчаас олж болно $PSVersionTable. Шинэчлэгдсэний дараа дараах байдлаар харагдах ёстой.
Одоо cmdlet ашиглах үед Get-ChildItem болон бусад нь ердийн оронд түүн шиг Зам бид ашиглах болно literalPath.
Замын формат нь арай өөр байх болно:
Get-ChildItem -LiteralPath "?C:Folder"
Get-ChildItem -LiteralPath "?UNCServerNameShare"
Get-ChildItem -LiteralPath "?UNC192.168.0.10Share"
Замуудыг ердийн форматаас формат руу хөрвүүлэхэд хялбар болгох үүднээс literalPath Та энэ функцийг ашиглаж болно:
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"}
}
Параметрийг тохируулахдаа үүнийг анхаарна уу literalPath орлуулагчдыг ашиглах боломжгүй (*, ? гэх мэт).
Параметрээс гадна literalPath, шинэчлэгдсэн PowerShell команд дээр Get-ChildItem хүлээн авсан параметр Гүн, үүний тусламжтайгаар та рекурсив хайлтанд үүрлэх гүнийг тохируулж болно, би үүнийг хэд хэдэн удаа ашигласан бөгөөд сэтгэл хангалуун байсан.
Одоо та PS скрипт урт өргөстэй замаас төөрч, алс холын файлуудыг харахгүй болно гэж айж болохгүй. Жишээлбэл, DFSR хавтас дахь файлуудын "түр зуурын" шинж чанарыг дахин тохируулах скрипт бичихэд энэ арга надад маш их тусалсан. Гэхдээ энэ бол өөр нэг түүх бөгөөд би өөр өгүүллээр ярихыг хичээх болно. Би та бүхнээс сонирхолтой сэтгэгдлүүдийг хүлээж байгаа бөгөөд санал асуулга авахыг санал болгож байна.
Хэрэгтэй холбоосууд:
Зөвхөн бүртгэлтэй хэрэглэгчид санал асуулгад оролцох боломжтой.
Урт замын асуудал танд хамаатай юу?
-
Тийм
-
Холбогдох байсан, гэхдээ аль хэдийн шийдсэн
-
Саад болдог, гэхдээ тийм ч их биш
-
Энэ талаар бодоогүй, бүх зүйл ажиллаж байх шиг байна
-
Ямар ч
-
Бусад (сэтгэгдэл хэсэгт бичнэ үү)
155 хэрэглэгч санал өгсөн. 25 хэрэглэгч түдгэлзсэн.
Эх сурвалж: www.habr.com