我通过远程桌面连接以域用户身份登录 Windows Server 2019(操作系统内部版本 17763.1432)。
我尝试安装一个 .exe 文件但直接出现错误:“0x8007010b - GetTempFileNameW:目录名称无效。”
以管理员身份运行 .exe 没用。.exe 也没有被阻止(文件属性)。
在 cmd 中我输入了以下内容echo %TMP%
,输出结果为:
C:\Users\.<removed>.\AppData\Local\Temp\2
当浏览该文件夹时,我看到它只..Local\Temp\
存在但不存在子目录\2
(=会话id)。
(看:https://devblogs.microsoft.com/oldnewthing/20110125-00/?p=11673)
问题:
为什么会echo %TMP%
显示我的临时文件夹 + 会话 ID,但文件夹本身却不存在。这是故意的吗?
(尝试弄清楚如何使.exe安装程序正常工作,而不必手动添加具有当前正确会话 ID 号的文件夹...)
答案1
您是否看到过这篇支持文章:https://docs.winking.be/tn/article/207
解决方案:他们提出了两个“解决方案”:
- 手动创建缺失的会话 ID 文件夹
- 通过组策略禁用临时会话 ID 文件夹的创建
组策略: 跑步gpedit.msc
打开本地组策略编辑器。在某些环境下,更改服务器上的政策可能有点极端……取决于您拥有多少自主权。我会向领主核实。
Windows Server 2003 及以上版本:计算机配置\管理模板\Windows 组件\终端服务\临时文件夹
Windows Server 2019+:计算机配置\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\临时文件夹
链接:一些“最好有”的进一步链接。一定要去参观第一个: