Sanırım sen de benim gibi buna benzer yolları bir kereden fazla gördün !!! Önemli____Yeni____!!! 98819 Şubat 649 tarih ve 30-1985-B Sipariş No. Ivan Aleksandrovich Kozlov'un kurumsal VIP müşterileri desteklemek ve kenarda iş toplantıları düzenlemek için bölümün geçici başkan vekili olarak atanması hakkında.doc.
Ve çoğu zaman böyle bir belgeyi Windows'ta hemen açamazsınız. Bazı kişiler disk eşleme şeklinde geçici çözüm uygularken, diğerleri uzun yollarla çalışabilen dosya yöneticilerini kullanır: Far Manager, Total Commander ve benzerleri. Ve çok daha fazlası, yarattıkları, çok emek harcadıkları ve test ortamında müthiş bir şekilde çalışan PS senaryosunun üretim ortamında çaresizce imkansız bir görevden şikayet etmesini üzüntüyle izledi: Belirtilen yol, dosya adı veya her ikisi de çok uzun. Tam nitelikli dosya adı 260 karakterden ve dizin adı 248 karakterden kısa olmalıdır.
Görünüşe göre 260 karakter "sadece herkes için değil" yeterli. İzin verilen sınırların ötesine geçmek istiyorsanız lütfen kediye bakın.
Dosya yolu uzunluğunu sınırlamanın talihsiz sonuçlarından bazıları şunlardır:
sunucuda, SMB aracılığıyla paylaşılan ve kullanıcılara bir ağ sürücüsü S olarak bağlanan D:DataSharedAccounting gibi bir klasör vardır; kullanıcılar, sunucudan yerel olarak erişildiğinde yöneticilerin/komut dosyalarının okuyamayacağı dosyalar oluşturur, çünkü mutlak yol ağ yolundan daha uzundur;
yol uzunluğu konusunda daha az sıkı kısıtlamalara sahip diğer sistemlerden veri taşırken, yeni ortamda bazılarına tefle dans etmeden erişilemez hale gelecektir;
Konudan biraz uzaklaşarak, DFS Çoğaltma için makalede tartışılan sorunun çok da kötü olmadığını ve uzun adlara sahip dosyaların sunucudan sunucuya başarıyla seyahat ettiğini (tabii ki diğer her şey yolundaysa) not ediyorum. Doğru yaptı).
Ayrıca bana birden fazla kez yardımcı olan çok faydalı bir yardımcı programa da dikkatinizi çekmek isterim. robocopy. Ayrıca uzun yollardan korkmuyor ve çok şey yapabiliyor. Bu nedenle, görev dosya verilerinin kopyalanması/aktarılmasıyla sınırlıysa burada durabilirsiniz. Dosya sistemi erişim kontrol listeleri (DACL'ler) ile oyun oynamanız gerekiyorsa, başka yere bakın subinacl. İlerlemiş yaşına rağmen Windows 2012 R2'de mükemmel performans gösterdi. Burada uygulama yöntemleri dikkate alınır.
Uzun PowerShell yollarıyla nasıl çalışılacağını öğretmek ilgimi çekiyordu. Onunla sanki Ivan Tsarevich ve Güzel Vasilisa hakkındaki sakallı bir şakadaki gibi.
Hızlı yolu
Linux'a geçin ve Windows 10/2016/2019 hakkında endişelenmeyin ve uygun grup ilkesi ayarını etkinleştirin/kayıt defterinde ince ayar yapın. Bu yöntem üzerinde ayrıntılı olarak durmayacağım çünkü... İnternette bu konuyla ilgili zaten birçok makale var, örneğin, bu.
Çoğu şirketin, en hafif deyimle işletim sistemlerinin en son sürümlerine değil, çok sayıda işletim sistemine sahip olduğu göz önüne alındığında, bu yöntem yalnızca kağıda yazmak için hızlıdır, tabii ki birkaç eski sisteme ve Windows 10'a sahip olan şanslılardan biri değilseniz /2016/2019 üstün hüküm sürüyor.
Uzun yol
Değişikliklerin Windows Explorer'ın davranışını etkilemeyeceğini ancak PowerShell cmdlet'lerinde Get-Item, Get-ChildItem, Remove-Item vb. gibi uzun yolların kullanılmasını mümkün kılacağını hemen burada ayırtalım.
Öncelikle PowerShell'i güncelleyelim. Bir, iki, üç kez yapıldı.
.NET Framework'ü 4.5'ten daha düşük olmayan bir sürüme güncelliyoruz. İşletim sistemi en az Windows 7 SP1/2008 R2 olmalıdır. Güncel sürümü indirebilirsiniz burada, daha fazla bilgi okuyun burada.
İndir ve Windows Management Framework 5.1'i yükleyin
Makineyi yeniden başlatıyoruz.
Çalışkan insanlar yukarıda açıklanan adımları manuel olarak yapabilir, tembel insanlar bunu SCCM, politikalar, komut dosyaları ve diğer otomasyon araçlarının yardımıyla yapabilir.
PowerShell'in geçerli sürümü değişkenden bulunabilir. $PSVersionTable. Güncellemeden sonra şöyle görünmelidir:
Şimdi cmdlet'leri kullanırken Get-childItem ve her zamanki yerine benzerleri Yol kullanacağız değişmezYol.
Parametreye ek olarak değişmezYol, PowerShell cmdlet'inin güncellenmiş sürümünde Get-childItem parametreyi aldım derinlikÖzyinelemeli arama için yuvalama derinliğini ayarlayabileceğiniz, birkaç kez kullandım ve memnun kaldım.
Artık PS betiğinizin uzun dikenli yolda kaybolacağından ve uzaktaki dosyaları göremeyeceğinden endişelenmenize gerek yok. Örneğin, DFSR klasörlerindeki dosyaların "geçici" özelliğini sıfırlamak için bir komut dosyası yazarken bu yaklaşım bana çok yardımcı oldu. Ama bu başka bir hikaye, bunu başka bir makalede anlatmaya çalışacağım. Sizden ilginç yorumlarınızı bekliyorum ve ankete katılmanızı öneriyorum.