我们正在测试 Windows 10 Creators Update(Build 15063)。到目前为止,这是我们遇到的唯一无法解决的问题。
此问题仅存在于 Creators 中:相同的用户和 GPO 在 Windows 10 Anniversary(Build 14393)和 Windows 7 SP1 上运行良好,且均运行最新的 Windows 更新
这里有两个域,它们之间没有信任关系。为了映射一个特定的驱动器,我们使用组策略首选项(以前使用登录脚本完成,但已更改为支持用户帐户控制)添加用户名和密码以进行交叉身份验证。以下是 GPO 中首选项选项的(已编辑)屏幕截图:
当该策略在 10 个 Creator 上运行,另一个驱动器映射,但 M: 驱动器不存在。查看事件查看器会出现此错误:
“GPO 驱动器映射 {C65A2351-20C1-42D4-BF2B-AE604CD9DC0A}”组策略对象中的用户“M:”首选项未应用,因为它失败,错误代码为“0x80090005 错误数据”。此错误已被抑制。
用户可以手动映射同一驱动器,并在提示时添加其他域的凭据。他们也可以使用 net use 命令执行此操作。
我尝试在 Google 上搜索 GPO Mapping、Windows 10 Creators 和 0x80090005 Bad Data,但没有找到任何相关信息。
答案1
所以,我是微软十多位 GP MVP 之一。
简而言之:不支持。@Twisty 是对的:这个安全漏洞已被现代 GPMC 修复,不再允许。知识库:
我有两种可能的解决方法:
1:尝试删除末尾的 \。因此,正确的 UI 应该是
\\server\share 而不是 \\server\share\
2:虽然没有测试过,但可能值得测试一种解决方法。尝试策略设置(在一台计算机上使用 GPedit.msc):
计算机 | 管理模板 | 系统 | 组策略 | 允许跨林用户策略和漫游用户配置文件
只需设定一使用该策略在本地机器上执行此操作..(在一个 Win10 1703 / 创建者版本框上本地运行 GPedit.msc)..不要疯狂地在所有地方启用它。
然后,重新启动并重新测试。
这有用吗?
如果是,那就太好了。如果不是……我只能提供这些了。
-Jeremy Moskowitz,GPanswers.com 15 年 Group Policy MVP
答案2
我想到了一个解决办法,但效果并不好:旧的又变成新的。
背景:当我们从 Windows XP 迁移到 Windows 8 时,我们从使用简单的 CMD 登录脚本转移到 GPO 映射驱动器,并且由于标准和管理令牌冲突,用户帐户控制停止了映射驱动器的工作(请参阅 TechNet 说明这里)
由于 Creators 更新删除了在组策略中保存凭据的功能,我无法让组策略将详细信息添加到本地凭据管理器(尝试使用这个脚本,但看起来它不适用于用户帐户控制并允许未签名的脚本),我打开了 EnableLinkedConnections 注册表项,并使用 old skool net use 命令映射了这个驱动器。
详细信息:
步骤1 创建一个新的 WMI 过滤器,专门用于检测 Creators 更新(这会将较低的安全覆盖范围缩小到仅需要它的机器):
select * from Win32_OperatingSystem WHERE Version like "10.0.15063%" AND ProductType="1"
第2步 将 WMI 过滤器添加到新的 GPO,其:
- 将 DWORD 注册表项 SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLinkedConnections 设置为1
- 在 Sysvol 文件夹中添加 cmd 登录脚本
步骤3
在登录脚本中添加以下代码:
net use m: /delete /y
net use m: \\[Server]\[Share]\ /user:[Server FQDN]\[Username] [Password] /PERSISTENT:YES
附注:这只会完全影响 Creator Update 系统上的本地管理员用户:如果您可以选择取消他们的管理员权限,则可以删除 GPO 中的 EnableLinkedConnections 步骤,这将提高其他 GPO 映射驱动器的安全性(但是,相关驱动器仍将具有纯文本密码脚本),但我正在使用需要跨域映射和管理员权限才能运行的旧版程序。
要知道这并不理想,因为它可以追溯到 XP 时代,当时在一个不太难找到的文件中有一个纯文本密码,但这是我迄今为止找到的解决此 Creators Update 问题的唯一方法:我有一种感觉,通过 GPO 或 PowerShell 登录脚本编程凭据管理器是正确的答案,但我就是无法让它工作:如果有人可以通过这种方式工作来改进这个答案,那么这就是我要做的。