У нас есть сервер с Windows Server 2012 R2 установлен с помощью REFS для 32К возможностей MAX_PATH, но он не работает, как ожидалось, особенно если сравнить его с ОС Windows 10.Windows Server 2012 R2 длинные пути к файлу не работают?
Если вы используете Test-Path
в Powershell
на Windows 10
с очень долго UNC, используя следующую закономерность:
Test-Path -Path "\\?\UNC\hostname\share\very\long\path" -PathType Container
он возвращает истину, но если выполнить ту же команду в Windows Server 2012 R2
он будет возвращать значение False. Обе системы используют последнюю версию Powershell, и в обеих системах в реестре включена Long Paths.
Любая идея относительно того, почему это работает на Windows 10, но не на Windows Server 2012 R2?
АНИ для поддержки длинных путей, что PowerShell потребности была добавлена в Windows 10 (один из обновлений.) – TravisEz13
@ travisez13 если это все версии unicode для API управления файлами win32 (т.е. CreateFileW), есть статьи Microsoft, в которых говорится, что работа, уже работающая с ReFS, и Windows Server 2012 R2 поддерживает магазин ReFS, почему бы не работать в 2012 R2? Направляет вызовы API вместо работы powershell в 2012 R2? – vane
Прямой звонок должен работать. Например, вы должны иметь возможность P/вызывать вызов из PowerShell. Я добавил ответ с модулем, который завершает вызовы P/Invoke для вас. – TravisEz13