Windows Server 2016 上忽略了 LongPathsEnabled 设置

Windows Server 2016 上忽略了 LongPathsEnabled 设置

我需要能够在 Windows Server 2016 系统上创建长度超过 260 个字符的路径结构。

仔细阅读各种来源后,我了解到 Windows Server 2016,版本 1607 应该支持长路径。

我激活了相应的本地组策略设置(计算机配置->管理模板->系统->文件系统->启用 Win32 长路径),并验证注册表项是否已适当更改(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem - LongPathsEnabled 设置为 0x1)。

我重新启动了系统,以验证长路径现在是否正常工作。根据 GPRESULT.EXE,策略设置正确。

截图 Gpresult.html

因此,我再次尝试在 Powershell 中创建一个长路径名,该路径名正好位于我的用户配置文件文件夹中。不幸的是,仍然没有成功,我一直看到错误消息:

New-Item : The specified path, file name, or both are too long. The fully qualified file name must
characters, and the directory name must be less than 248 characters.
At line:1 char:1
+ New-Item -Type Directory $longdir
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Users\myUser...adföklasdfjölkj:String) [New-Item], Pa
    + FullyQualifiedErrorId : CreateDirectoryIOError,Microsoft.PowerShell.Commands.NewItemCommand

我甚至验证了 Powershell.exe 的清单,并可以确认已启用长路径。

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

一切似乎都正确,但我仍然无法创建长度超过 260 个字符的文件路径。

顺便说一句,我在另一个系统上做了完全相同的事情,一切都正常。只是这个系统是我自己的系统,而我遇到问题的系统是客户的系统。

知道我还能尝试什么吗?

最相关的官方来源:

更新

按照上述方法配置系统大约 4-5 小时后,它就正常工作了。我没有更改测试程序,没有更改任何设置,也没有重新启动,它突然就正常工作了。如果有人对此有解释,我会非常感兴趣。我感到很困惑。

答案1

您当时运行了组策略更新命令吗?

在提升的 cmd 中运行gpupdate

也许您没有,但经过 4-5 小时后,您所做的组策略更新已同步,这就是它起作用的原因。

相关内容