Windows 10 файловый сервер ограничения

Обновлено: 05.07.2024

Собираюсь брать комп и ОС для серверных нужд под одно ПО. Ранее 10ку не брал, но шеф хочет экономить на всём, включая ОС. Поэтому Home.

И вот вопрос - есть ли в Windows 10 Home какие-либо ограничения по одновременным подключениям (не RDP, а работа с файлами, обращения к службе)?
Вспомнилось, что были ограничения в аналогичной 7ке.

Конфигурация компьютера
Ноутбук/нетбук: Lenovo ThinkPad W530 24385AU (i7-3740QM 2.7GHz, 24GB RAM, Samsung 840 Pro 256GB + HDD 750GB)
ОС: Windows 10 Pro x64 Release Preview
Прочее: На пенсии: HP Pavilion dv7t (17.3'', i7-2630QM, HD 6770M 1Gb, 8Gb RAM)


Клиентская ОС для серверных нужд - плохо. Домашняя - еще хуже. Используйте Linux или типа того, раз уж хотите экономить.

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Собираюсь брать комп и ОС для серверных нужд под одно ПО. Ранее 10ку не брал, но шеф хочет экономить на всём, включая ОС. Поэтому Home.

Странная позиция: пытаться сэкономить и не взять бесплатное ПО: Zentyal, FreeNAS или просто Ubuntu.

есть ли в Windows 10 Home какие-либо ограничения по одновременным подключениям
К программному обеспечению, установленному на лицензированном устройстве, могут иметь доступ до 20 других устройств в целях использования следующих функций программного обеспечения: файловых служб, служб печати, служб IIS и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве.

-------
- Пал Андреич, Вы шпион?
- Видишь ли, Юра.

Странная позиция: пытаться сэкономить и не взять бесплатное ПО: Zentyal, FreeNAS или просто Ubuntu.

Этот вариант отметается по причине того, что ПО поддерживается только под Windows. Пляски с бубном под Wine не удовлетворяют.

К программному обеспечению, установленному на лицензированном устройстве, могут иметь доступ до 20 других устройств в целях использования следующих функций программного обеспечения: файловых служб, служб печати, служб IIS и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве.
Как я понял этот раздел EULA касается подключения 20 устройств к компьютеру, а у меня вопрос скорее о подключении клиент-оболочек с компьютеров сети к сервер-оболочке, которая будет установлена на этом компе под Windows 10 Home. NickAmber, тогда вопрос, что вы считаете "оболочками"? В EULA чётко расписано, что, к чему и как может подключаться. Там нет термина "оболочка". Ваша "оболочка" обволакивает какое-то устройство? Значит, см. ответ про устройства, службы печати и т.д.

-------
- Пал Андреич, Вы шпион?
- Видишь ли, Юра.

Angry Demon, если Вам хочется поупражняться в эпистолярном жанре и вы претендуете на роль комика, это замечательно. За отсылку к лицензионному соглашению - глубоко благодарю.
Но я попросил бы не мешать другим людям иметь возможность подсказать мне в моём вопросе однозначно и по сути. Если нужны какие-то уточнения - я отвечу на вопросы.

И к сведению есть такое понятие "клиентская оболочка". К примеру "клиентская оболочка базы данных".

NickAmber, если вас распирает ваше ЧСВ, то незачем его выпячивать и хамить другим.
За хамство легко схлопотать бан.

А мой ответ был именно по сути.

. которая тоже установлена не в сферическом вакууме, а на устройстве, т.е. возвращаемся туда, откуда начали.

-------
- Пал Андреич, Вы шпион?
- Видишь ли, Юра.

Конфигурация компьютера
Ноутбук/нетбук: Lenovo ThinkPad W530 24385AU (i7-3740QM 2.7GHz, 24GB RAM, Samsung 840 Pro 256GB + HDD 750GB)
ОС: Windows 10 Pro x64 Release Preview
Прочее: На пенсии: HP Pavilion dv7t (17.3'', i7-2630QM, HD 6770M 1Gb, 8Gb RAM)
NickAmber, берете и тестируете - в чем проблема-то?

-------
Канал Windows 11, etc | Чат @winsiders

Цитата:
К программному обеспечению, установленному на лицензированном устройстве, могут иметь доступ до 20 других устройств в целях использования следующих функций программного обеспечения: файловых служб, служб печати, служб IIS и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве.

c.***** Ограничения. Изготовитель или установщик и Microsoft сохраняют все права (например, права, предусмотренные законами о защите интеллектуальной собственности), которые не предоставляются явным образом в рамках настоящего соглашения. Например, эта лицензия не предоставляет вам права:
(v)**** использовать программное обеспечение в качестве серверного программного обеспечения, для предоставления к услуг размещения на коммерческой основе, предоставлять данное программное обеспечение для одновременного использования несколькими пользователями в сети, устанавливать программное обеспечение на сервере и предоставлять пользователям удаленный доступ к нему или устанавливать программное обеспечение на устройстве для использования только удаленными пользователями;

date

22.12.2020

directory

Windows 10, Windows Server 2016

comments

комментариев 6

Дисковые квоты позволяют администраторам Windows контролировать сколько места используют пользователи на файловой системе серверов и рабочих станций. ОС Windows Server поддерживает два типа квотирования: квотирование на базе File Server Resource Manager (дисковые квоты FSRM) и NTFS квоты. Хотя FSRM квотирование и является более гибким и удобным, но в некоторых простых случаях эффективно можно использовать и NTFS квоты. Например, для ограничения размеров каталогов перемещаемых профилей (но не User Profile Disks) и перенаправляемых домашних папок на RDS серверах, личных каталогов пользователей на FTP сервере, личных каталогов на сайтах IIS и т.д. В этой статье мы рассматриваем как настроить дисковые квоты пользователям в Windows.

Дисковые NTFS квоты в Windows

С помощью дисковых квот Windows вы можете ограничить максимальный размер файлов и папок каждого пользователя так, чтобы он не превысил установленного лимита и не занял своими данными весь диск. Принадлежность фалов и каталогов определяется в соответствии с владельцем объекта файловой системы NTFS. Дисковые квоты работают как на северных, так и на клиентских версиях Windows.

Основные особенности и ограничения NTFS-квот:

  • Квотирование может быть применено только целиком к конкретному тому (разделу), отформатированному в файловой систем NTFS (на ReFS томах квотирование не работает);
  • Квоты действуют на всех пользователей, хранящих свои данные на данном разделе. Нельзя применить квоту на группу пользователей или отдельный каталог. В этом случае лучше использовать FSRM квоты;
  • Принадлежность файлов пользователю определяется по его владельцу (owner) файла, заданного в дескрипторе защиты NTFS;
  • По умолчанию Windows сканирует раздел с включенным квотированием и пересчитывает суммарный размер файлов каждого пользователя 1 раз в час;
  • При использовании NTFS-компрессии, учитывается оригинальный размер файлов (до сжатия).

Можно выделить следующие сценарии использования дисковых квот:

    Мониторинг использования дисков – просмотр статистики использования пользователями места на диске сервера;

Настройка дисковых NTFS квоты в Windows 10 / Windows Server 2016

Рассмотрим пример настройки NTFS квот на диске с данными пользователей на примере Windows Server 2016. Во всех предыдущих версия Windows (начиная с Windows 2003) дисковые NTFS квоты настраиваются аналогично.

управление дисковыми квотами в windows 10/ windows server 2016

Откройте окно свойства диска, на котором нужно включить квоты и перейдите на вкладку Quota. Затем нажмите на кнопку Show Quota Settings: Чтобы включить квоты для данного тома, установите чекбокс Enable quota management.

Дальнейшие опции следует выбрать в зависимости от желаемого сценария использования квот:

  • Deny disk space to users exceeding quota limit – запретить запись на диск пользователям, превысившим лимит;
  • Limit disk space to — задать лимит на суммарный размер файлов одного пользователя;
  • Log event when a user exceeds their quota limit – записывать в Event Viewer событие при превышении квоты пользователем;
  • Log event when a user exceeds their warning level – записывать в журнал события при приближении к указанному порогу.

Не рекомендуется сразу включать правило запрета записи при превышении лимита. Лучше сначала оценить текущее использование пользователями места на диске пользователями. В нашем примере мы хотим, чтобы каждый пользователь мог использовать не более 1 Гб места на диске сервера.

включить ntfs квоту для диска в windows

Сохраните изменения (Apply). Через некоторое время (в зависимости от размера диска и количества файлов), Windows подсчитает суммарное использования диска каждым пользователем.

Нажмите на кнопку Quota Entries. Перед вами появится таблица, в которой указаны квоты и текущий размер занятого места каждым пользователем (файлы которых найдены на файловой системе). Здесь вы сразу видите, какие пользователи уже превысили свои квоты на диске.

список действующих NTFS квот на диск для всех пользователей windows

По умолчанию для всех пользователей устанавливаются одинаковые квоты. Из окна Quota Entries вы можете создать, увеличить или отключить стандартную квоту для конкретного пользователя.

Чтобы NTFS квоты не применялись к определенной учетной записи, нужно открыть свойства записи в таблице квот (Properties) и установить опцию Do not limit disk usage.

убрать лимит на дисковую квоту у пользователя Do not limit disk usage

Важно. Обязательно следует отключить квотирование для системных учётных записей NT Service\TrustedInstaller и NT AUTHORITY\SYSTEM, иначе Windows может работать некорректно.

Из окна со список квот вы можете экспортировать настройки квот, а затем импортировать и применить их для другого диска или компьютера.

Если вы хотите вывести список файлов, которые учитываются в квоте конкретного пользователя, нужно выбрать пункт Delete.

вывести список файлов пользователя, которые участвуют в расчете квот

Из этого диалогового окна можно сменить владельца файла (Take ownership), удалить (Delete) или переместить файл (Move).

После того, как навели порядок с мягкими квотами в режиме аудита, можно включать опцию Deny disk space to users exceeding quota limit. Это включит режим жестких квот. Теперь пользователи не смогут превысить выделенное им место на диске. Обратите внимание, что размер диска в сессии пользователя теперь отображается с учетом дисковой квот. В этом примере для моего аккаунта на диске C:\ свободно 876 Мб из 1 Гб квоты.


дисковая квота не дает пользователю создать новые файлы на диске

Одновременно в журнале системы фиксируется событие с EventID 37, source: Ntfs:

уведомление о превышении квоты A user hit their quota limit on volume C:

Настройка дисковых квот с помощью групповых политик

Вы можете управлять настройками дисковых квот на компьютерах и серверах домена с помощью групповых политик. Параметры настройки квот находятся в разделе GPO Computer Configuration -> Administrative Templates -> System -> Disk Quotas. Чтобы включить дисковые квоты, аналогичные рассмотренным выше, задайте следующие политики:

  • Enable Disk Quotas: Enable
  • Enforce Disk Quota Limit: Enable
  • Default Quota Limit And Warning Level: Enable (Default quota limit/warning level: 1 Gb)
  • Log Event When Quota Limit Exceeded: Enable
  • Apply Policy To Removable Media: Enable (если нужно применять квоты для съёмных носителей, в том числе USB флешкам)

групповые политики для управления дисковыми квотами windows

Осталось назначить такую GPO на OU с компьютерами/серверами, на которых нужно внедрить дисковые квоты и дождаться обновления политик.

Дисковые квоты, настроенные через GPO применяются для всех дисков компьютера. Нельзя настроить исключения для определенных пользователей.

Управление дисковыми квотами из командной строки/PowerShell

NTFS-квотами можно управлять из командной строки Windows с помощью команы fsutil quota.

Чтобы включить мягкую квоту для диска, используйте команду:

fsutil quota track E:

Для включения жесткой NTFS квоты, выполните:

fsutil quota enforce E:

Для отключения дисковых квот используется команда:

fsutil quota disable E:

Чтобы получить текущие настройки квот для указанного диска, выполните:

fsutil quota query e:

вывести в cmd информацию о ntfs квотах пользователей fsutil quota query

Получить список пользователей, чьи квоты на диске уже превышены:

fsutil quota violations

Чтобы изменить пороги квот для определенного пользователя, используйте команду:

fsutil quota modify E: 3000000000 200000000 corp\aaivanov

Узнать частоту обновления (перерасчета) дисковых квот (в секундах):

fsutil behavior query quotanotify

По умолчанию квоты обновляются раз в час

fsutil behavior query quotanotify частота перерасчета ntfs квот

В PowerShell нет встроенных командлетов для управления NTFS квотами на диске. Однако вы можете управлять ими через WMI класс Win32_DiskQuota. Например, следующий PowerShell скрипт выведет информацию о текущих квотах пользователей.

Следует правильно выбирать оборудование в соответствии с ожидаемой нагрузкой на файловый сервер и с учетом таких параметров, как средняя и пиковая нагрузка, емкость, планы развития и время отклика. Аппаратные ограничения снижают эффективность программной настройки.

Общие параметры для настройки клиентов

Следующие параметры реестра REG_DWORD могут влиять на производительность клиентских компьютеров, которые взаимодействуют с файловыми серверами SMB:

ConnectionCountPerNetworkInterface

Область применения: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012

По умолчанию имеет значение 1, которое мы настоятельно рекомендуем использовать. Допускаются значения от 1 до 16. Максимальное число подключений к серверу по одному интерфейсу, отличающемуся от интерфейсов RSS.

ConnectionCountPerRssNetworkInterface

Область применения: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012

По умолчанию имеет значение 4, которое мы настоятельно рекомендуем использовать. Допускаются значения от 1 до 16. Максимальное число подключений к серверу по одному интерфейсу RSS.

ConnectionCountPerRdmaNetworkInterface

Область применения: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012

По умолчанию имеет значение 2, которое мы настоятельно рекомендуем использовать. Допускаются значения от 1 до 16. Максимальное число подключений к серверу по одному интерфейсу RDMA.

MaximumConnectionCountPerServer

Область применения: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012

По умолчанию имеет значение 32. Допускаются значения от 1 до 64. Максимальное число подключений к серверу под управлением Windows Server 2012 по всем интерфейсам.

DormantDirectoryTimeout

Область применения: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012

По умолчанию имеет значение 600 секунд. Максимальное время, в течение которого сервер сохраняет открытыми дескрипторы каталогов с арендой каталогов.

FileInfoCacheLifetime

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 10 секунд. Срок хранения в кэше сведений о файлах.

DirectoryCacheLifetime

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 10 секунд. Обозначает срок хранения кэша каталогов.

Этот параметр управляет кэшированием метаданных каталогов при отсутствии аренды каталогов.

Известная проблема в Windows 10 версии 1803 влияет на возможность системы кэшировать большие каталоги. Обновив ОС компьютера до Windows 10 версии 1803, вы получите доступ к сетевой папке, содержащей тысячи файлов и папок. Вам потребуется открывать документ, расположенный в этой сетевой папке. Обе эти операции сопровождаются значительными задержками.

Чтобы устранить эту проблему, установите Windows 10 версии 1809 или более поздней версии.

Чтобы обойти эту проблему, задайте для параметра DirectoryCacheLifetime значение 0.

Эта проблема затрагивает следующие выпуски Windows 10:

  • Windows 10 Enterprise версии 1803;
  • Windows 10 Pro для рабочих станций версии 1803;
  • Windows 10 Pro для образовательных учреждений версии 1803;
  • Windows 10 Профессиональная версии 1803;
  • Windows 10 для образовательных учреждений версии 1803;
  • Windows 10 Домашняя версии 1803.

DirectoryCacheEntrySizeMax

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 64 КБ. Обозначает максимальный размер записей в кэше каталога.

FileNotFoundCacheLifetime

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 5 секунд. Обозначает срок хранения в кэше данных об отсутствии файла.

CacheFileTimeout

Область применения: Windows 8.1, Windows 8, Windows Server 2012, Windows Server 2012 R2 и Windows 7

Значение по умолчанию — 10 секунд. Этот параметр определяет время (в секундах), в течение которого перенаправитель сохраняет кэшированные данные о файле после закрытия в приложении последнего дескриптора для этого файла.

DisableBandwidthThrottling

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 0. По умолчанию перенаправитель SMB регулирует пропускную способность для сетевых подключений с высокой задержкой, что позволяет в некоторых случаях избежать превышения времени ожидания, связанного с сетью. Значение 1 для этого параметра реестра отключает такое регулирование, ускоряя передачу файлов через сетевые соединения с высокой задержкой.

DisableLargeMtu

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 0 только для Windows 8. В Windows 8 перенаправитель SMB передает полезные данные размером до 1 МБ на один запрос, ускоряя передачу файлов. Значение 1 для этого параметра ограничивает запросы размером 64 КБ. Следует тщательно оценить влияние этого параметра, прежде чем применять его.

RequireSecuritySignature

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 0 и отключает подписывание SMB. Значение 1 этого параметра включает подписывание SMB для всех взаимодействий по протоколу SMB, блокируя обмен данными по протоколу SMB с компьютерами, на которых отключено подписывание SMB. Подписывание SMB может повысить нагрузку на ЦП и замедлить круговые пути, но оно также блокирует атаки "злоумышленник в середине". Если подписывание SMB не требуется, этот параметр реестра должен иметь значение 0 на всех клиентах и серверах.

FileInfoCacheEntriesMax

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 64. Допускаются значения от 1 до 65536. Это значение используется для определения объема метаданных файла, которые могут кэшироваться клиентом. Увеличение значения позволяет сократить сетевой трафик и повысить производительность, если осуществляется доступ к большому числу файлов.

DirectoryCacheEntriesMax

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 16. Допускаются значения от 1 до 4096. Это значение используется для определения объема сведений о каталогах, которые могут кэшироваться клиентом. Увеличение значения позволяет сократить сетевой трафик и повысить производительность, если осуществляется доступ к большому числу каталогов.

FileNotFoundCacheEntriesMax

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

По умолчанию имеет значение 128. Допускаются значения от 1 до 65536. Это значение используется для определения объема сведений об именах файлов, которые могут кэшироваться клиентом. Увеличение значения позволяет сократить сетевой трафик и повысить производительность, если осуществляется доступ к большому числу имен файлов.

MaxCmds

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 15. Этот параметр ограничивает число ожидающих запросов в одном сеансе. Увеличение этого значения приводит к повышению использования памяти, но может повысить производительность благодаря использованию более глубокого конвейера запросов. Увеличение значения в сочетании с MaxMpxCt также позволяет устранить ошибки, возникающие из-за большого числа долгосрочных ожиданий по запросам файлов, таких как вызовы FindFirstChangeNotification. Этот параметр не влияет на подключение к серверам SMB 2.0.

DormantFileLimit

Область применения: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 и Windows Server 2008

Значение по умолчанию — 1023. Этот параметр определяет максимальное число файлов, которые нужно оставить открытыми в общем ресурсе после того, как приложение закроет файл.

Пример настройки клиента

Общие параметры настройки для клиентских компьютеров позволяют оптимизировать доступ к удаленным файловым ресурсам, особенно в некоторых сетях с высокой задержкой (например, при подключениях между офисами филиалов, центрами обработки данных и домашними офисами, а также мобильных широкополосных подключениях). Предложенные значения не являются оптимальными и применимыми на всех компьютерах. Следует тщательно оценить влияние каждого параметра, прежде чем применять его.

Параметр Значение Значение по умолчанию
DisableBandwidthThrottling 1 0
FileInfoCacheEntriesMax 32768 64
DirectoryCacheEntriesMax 4096 16
FileNotFoundCacheEntriesMax 32768 128
MaxCmds 32768 15

Начиная с Windows 8, вы можете настроить многие из этих параметров SMB с помощью командлетов Windows PowerShell Set-SmbClientConfiguration и Set-SmbServerConfiguration. Кроме того, Windows PowerShell позволяет настраивать параметры, доступные только в реестре.

Длинные пути Windows

Описание проблемы длинных путей

Раньше имена файлов в Windows ограничивались форматом 8.3 - всего восемь символов для имени файла и три для расширения. С появлением Windows 95 Microsoft сняла этот предел и позволила использовать гораздо более длинные имена.

Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \\?\.

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \\?\, например так:

Хочу отметить, что на период ноября 2020 года и последней версий Windows 10 1909, в ПРОВОДНИКЕ Windows до сих пор есть ограничения в 260 символов, и мы все слышим обещания, что их исправят

Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:

Слишком длинный целевой путь: Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем

Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем

Тоже самое при копировании в папку, так же выскакивает "Слишком длинный целевой путь".

Слишком длинный целевой путь, решаем за минуту

Вот ошибка при извлечении архива в сетевую папку:

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Методы снимающие ограничения на длину пути в Windows

  • Через групповую или локальную политику Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через реестр Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через сторонние утилиты 7-Zip, Far, TotalCommander (Применимо ко всем версиям Windows)
  • Использование силинков (символических ссылок) (Применимо ко всем версиям Windows)
  • Через сетевой диск, для укорачивания пути
  • Утилиты xcopy, robocopy

Нюансы длинных путей в приложениях

Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>

Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки "Слишком длинный целевой путь" или "Слишком длинный конечный путь" в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \\?\, то групповые политики вам это помогут.

Еще раз напоминаю, что данный метод подойдет и для серверных версий, даже самых современных Windows Server 2019

Покажу для начала, как делать через локальную политику, открываете окно "Выполнить" в котором пишите gpedit.msc.

Хочу отметить, что для Windows 10 Home данный метод работать не будет, там просто нет редактора локальных политик, там придется лезть в реестр Windows

Как в Windows 10 отключить ограничение на длину пути в 260 символов

Далее идем по пути:

Конфигурация компьютера - Административные шаблоны - Система - Файловая система (Computer configuration - Administrative templates - System - Filesystem)

Найдите тут параметр "Включить длинные пути Win32 (Enable Win32 long paths)", по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

Включить длинные пути Win32

То же самое вы можете сделать централизовано для массового управления через групповые политики, все ветки те же самые.

Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении "Слишком длинный целевой путь" или "Слишком длинный конечный путь". Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

Включение поддержки длинных путей через реестр

Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:

тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение "1". Тут потребуется перезагрузка.

Включение поддержки длинных путей через реестр Windows. LongPathEnabled

Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.

Ключи реестра для активации MAX_PATH

Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:

Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра "Включить длинные пути Win32 (LongPathEnabled)". Не забываем перезагрузить систему.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями

Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Запустите командную строку в режиме администратора и введите:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Обход ограничений длинных путей через 7zFM

Исправляем Слишком длинный путь к источнику через 7zFM

Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

Для создания новой папки нажмите клавишу F7.

Создание папки в 7zFM.exe

Задайте необходимое вам имя, в моем примере это будет "БОльше 260 Microsot".

Указание имени у создаваемой папки в 7zFM.exe

В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

Успешно созданная папка через 7zFM.exe

Проверяем, что директория доступна через проводник Windows.

Обход ограничений длинных путей через 7zFM

Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.

Обход ограничений длинных путей через 7zFM

Как обойти ограничение длинных путей через символьную ссылку

Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:

  • Путь где будет лежать файл символической ссылки - в моем примере C:\короткий путь
  • Длинный путь - C:\Share\WINDOW

Как обойти ограничение длинных путей через символьную ссылку

Нам поможет команда mklink, где ключ /D создает ссылку на каталог

Символическая ссылка успешно создана, можно проверять.

Создание символической ссылки для решения проблемы длинных путей

Откройте каталог с укороченным путем и попробуйте создать просто папку, в итоге она будет создана именно по тому длинному пути, как видите легко можно обходить ограничение в 260 символов.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как обойти ограничение длинных путей через сопоставление subst

subst - простая команда позволяющая связать нужный путь к каталогу с буквой диска. Так же откройте командную строку в режиме администратора и сопоставьте ваш длинный путь с буквой W.

Как обойти ограничение длинных путей через сопоставление subst

У вас в проводнике Windows должен появиться диск с данной буквой, если его нет, то прочитайте статью "Не появляется диск после команды subst" или просто в проводнике вбейте W:\ и нажмите Enter.

Как устранить проблему длинных путей Windows

Как обойти ограничение длинных путей через монтирование сетевого диска

В командной строке используйте команду net use, далее буква диска, которую мы присваиваем и в самом конце путь:

Создание сетевого диска ведущего на длинный путь Windows

Как видим все прекрасно отработало и диск появился.

Как обойти ограничение длинных путей через монтирование сетевого диска

Использование утилит Far или Total Commander

После включения параметра "Включить длинные пути Win32" данные утилиты в 100% случаев помог вам произвести любые действия с папками или файлами на любом длинном пути в системе Windows. Откройте Total Commander и создайте для примера папку в каталоге с длинным путем, напоминаю для этого нужно нажать F7.

Использование утилит Far или Total Commander

Как видите все прекрасно создается, удаляется или копируется при желании.

Читайте также: