Windows 10 файловый сервер ограничения
Собираюсь брать комп и ОС для серверных нужд под одно ПО. Ранее 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 и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве. |
-------
- Пал Андреич, Вы шпион?
- Видишь ли, Юра.
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) |
-------
Канал Windows 11, etc | Чат @winsiders
Цитата: К программному обеспечению, установленному на лицензированном устройстве, могут иметь доступ до 20 других устройств в целях использования следующих функций программного обеспечения: файловых служб, служб печати, служб IIS и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве. |
c.***** Ограничения. Изготовитель или установщик и Microsoft сохраняют все права (например, права, предусмотренные законами о защите интеллектуальной собственности), которые не предоставляются явным образом в рамках настоящего соглашения. Например, эта лицензия не предоставляет вам права:
(v)**** использовать программное обеспечение в качестве серверного программного обеспечения, для предоставления к услуг размещения на коммерческой основе, предоставлять данное программное обеспечение для одновременного использования несколькими пользователями в сети, устанавливать программное обеспечение на сервере и предоставлять пользователям удаленный доступ к нему или устанавливать программное обеспечение на устройстве для использования только удаленными пользователями;
Дисковые квоты позволяют администраторам 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 квоты настраиваются аналогично.
Откройте окно свойства диска, на котором нужно включить квоты и перейдите на вкладку 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 Гб места на диске сервера.
Сохраните изменения (Apply). Через некоторое время (в зависимости от размера диска и количества файлов), Windows подсчитает суммарное использования диска каждым пользователем.
Нажмите на кнопку Quota Entries. Перед вами появится таблица, в которой указаны квоты и текущий размер занятого места каждым пользователем (файлы которых найдены на файловой системе). Здесь вы сразу видите, какие пользователи уже превысили свои квоты на диске.
По умолчанию для всех пользователей устанавливаются одинаковые квоты. Из окна Quota Entries вы можете создать, увеличить или отключить стандартную квоту для конкретного пользователя.
Чтобы NTFS квоты не применялись к определенной учетной записи, нужно открыть свойства записи в таблице квот (Properties) и установить опцию Do not limit disk usage.
Из окна со список квот вы можете экспортировать настройки квот, а затем импортировать и применить их для другого диска или компьютера.
Если вы хотите вывести список файлов, которые учитываются в квоте конкретного пользователя, нужно выбрать пункт Delete.
Из этого диалогового окна можно сменить владельца файла (Take ownership), удалить (Delete) или переместить файл (Move).
После того, как навели порядок с мягкими квотами в режиме аудита, можно включать опцию Deny disk space to users exceeding quota limit. Это включит режим жестких квот. Теперь пользователи не смогут превысить выделенное им место на диске. Обратите внимание, что размер диска в сессии пользователя теперь отображается с учетом дисковой квот. В этом примере для моего аккаунта на диске C:\ свободно 876 Мб из 1 Гб квоты.
Одновременно в журнале системы фиксируется событие с EventID 37, source: Ntfs:
Настройка дисковых квот с помощью групповых политик
Вы можете управлять настройками дисковых квот на компьютерах и серверах домена с помощью групповых политик. Параметры настройки квот находятся в разделе 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 флешкам)
Осталось назначить такую 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:
Получить список пользователей, чьи квоты на диске уже превышены:
fsutil quota violations
Чтобы изменить пороги квот для определенного пользователя, используйте команду:
fsutil quota modify E: 3000000000 200000000 corp\aaivanov
Узнать частоту обновления (перерасчета) дисковых квот (в секундах):
fsutil behavior query quotanotify
По умолчанию квоты обновляются раз в час
В 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 ограничивались форматом 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-папку и повторите попыткуМетоды снимающие ограничения на длину пути в 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Далее идем по пути:
Конфигурация компьютера - Административные шаблоны - Система - Файловая система (Computer configuration - Administrative templates - System - Filesystem)Найдите тут параметр "Включить длинные пути Win32 (Enable Win32 long paths)", по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.
Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении "Слишком длинный целевой путь" или "Слишком длинный конечный путь". Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.
Включение поддержки длинных путей через реестр
Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:
тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение "1". Тут потребуется перезагрузка.
Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.
Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:
Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра "Включить длинные пути Win32 (LongPathEnabled)". Не забываем перезагрузить систему.
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
Запустите командную строку в режиме администратора и введите:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1Обход ограничений длинных путей через 7zFM
Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.
Для создания новой папки нажмите клавишу F7.
Задайте необходимое вам имя, в моем примере это будет "БОльше 260 Microsot".
В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.
Проверяем, что директория доступна через проводник Windows.
Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.
Как обойти ограничение длинных путей через символьную ссылку
Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:
- Путь где будет лежать файл символической ссылки - в моем примере C:\короткий путь
- Длинный путь - C:\Share\WINDOW
Нам поможет команда mklink, где ключ /D создает ссылку на каталог
Символическая ссылка успешно создана, можно проверять.
Откройте каталог с укороченным путем и попробуйте создать просто папку, в итоге она будет создана именно по тому длинному пути, как видите легко можно обходить ограничение в 260 символов.
Как обойти ограничение длинных путей через сопоставление subst
subst - простая команда позволяющая связать нужный путь к каталогу с буквой диска. Так же откройте командную строку в режиме администратора и сопоставьте ваш длинный путь с буквой W.
У вас в проводнике Windows должен появиться диск с данной буквой, если его нет, то прочитайте статью "Не появляется диск после команды subst" или просто в проводнике вбейте W:\ и нажмите Enter.
Как обойти ограничение длинных путей через монтирование сетевого диска
В командной строке используйте команду net use, далее буква диска, которую мы присваиваем и в самом конце путь:
Как видим все прекрасно отработало и диск появился.
Использование утилит Far или Total Commander
После включения параметра "Включить длинные пути Win32" данные утилиты в 100% случаев помог вам произвести любые действия с папками или файлами на любом длинном пути в системе Windows. Откройте Total Commander и создайте для примера папку в каталоге с длинным путем, напоминаю для этого нужно нажать F7.
Как видите все прекрасно создается, удаляется или копируется при желании.
Читайте также: