本文介绍如何解决域控制器上为工作站或服务器服务禁用 SMB 签名时发生的问题。
适用于: Windows Server 2003
原始 KB 数: 839499
总结
无法在 Windows Server 2003 域控制器或 Windows 2000 Server 域控制器上打开文件共享或组策略管理单元。 在本地登录到域控制器,然后尝试在域控制器上打开共享时,会收到重复的密码提示,并且无法打开共享。 可以通过更改注册表来解决此问题。
警告
如果使用注册表编辑器或使用其他方法错误地修改了注册表,则可能会发生严重问题。 这些问题可能需要重新安装操作系统才能解决。 Microsoft 不能保证可以解决这些问题。 您应自行承担修改注册表的风险。
现象
方案 1 - 对域控制器上的工作站服务禁用服务器消息块(SMB)签名,但同一域控制器上的服务器服务需要 SMB 签名
Windows Server 2003
尝试在域控制器上打开组策略管理单元时,会收到如下所示的错误消息:
您没有执行此操作的权限。 拒绝访问。
域控制器每隔五分钟在应用程序事件日志中记录以下事件:
Windows 2000 Server
尝试在域控制器上打开组策略管理单元时,会收到如下所示的错误消息:
您没有执行此操作的权限。
拒绝访问。 域控制器在应用程序事件日志中记录以下事件:
在本地登录到域控制器,然后尝试在域控制器上打开共享时,会收到重复的密码提示,并且无法打开共享。
方案 2 - 为域控制器上的服务器服务禁用 SMB 签名,但同一域控制器上的工作站服务需要 SMB 签名
Windows Server 2003
无法打开组策略对象。 你可能没有适当的权限。
该帐户无权从此工作站登录。
在网络跟踪中,如果在客户端上启用和需要 SMB 签名并且已在服务器上禁用,则与 TCP 会话的连接在方言协商后正常关闭,并且客户端收到以下错误:
1240 (ERROR_LOGIN_WKSTA_RESTRICTION)
域控制器每隔五分钟在应用程序事件日志中记录以下事件:在本地登录到域控制器,然后尝试在域控制器上打开文件共享时,会收到如下所示的错误消息:
\\无法访问Server_Name\Share_Name。 你可能没有使用此网络资源的权限。 请联系此服务器的管理员,了解你是否具有访问权限。
该帐户无权从此工作站登录。
注意
在网络跟踪中,如果启用了 SMB 签名,并且客户端需要 SMB 签名并在服务器上禁用,则与 TCP 会话的连接会在方言协商后正常关闭。 此外,客户端会收到以下错误消息:1240(ERROR_LOGIN_WKSTA_RESTRICTION)
Windows 2000 Server
尝试在域控制器上打开组策略管理单元时,会收到类似于以下内容的错误消息:
无法打开组策略对象。 你可能没有适当的权限。
该帐户无权从此工作站登录。
域控制器在应用程序事件日志中记录以下事件:在本地登录到域控制器,然后尝试在域控制器上打开文件共享时,会收到类似于以下内容的错误消息:
\\无法访问Server_Name\Share_Name。
该帐户无权从此工作站登录。
注意
在网络跟踪中,如果启用了 SMB 签名,并且客户端需要 SMB 签名并在服务器上禁用,则与 TCP 会话的连接会在方言协商后正常关闭。 此外,客户端会收到以下错误消息:1240(ERROR_LOGIN_WKSTA_RESTRICTION)
解决方法
若要解决此行为,请执行以下步骤:
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅 如何在 Windows XP 中备份和还原注册表。
步骤 1 - 更改注册表
更改 enablesecuritysignature 注册表项的值。 为此,请按照下列步骤进行操作:
在域控制器上,单击“开始”,然后单击“运行”。
复制并粘贴(或键入)“打开”框中的 regedit 命令,然后按 Enter。
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
在右窗格中,双击 enablesecuritysignature,在 “值”数据 框中键入 1,然后单击“ 确定”。
双击 requiresecuritysignature,在 “值”数据 框中键入 1,然后单击“ 确定”。
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters
在右窗格中,双击 enablesecuritysignature,在 “值”数据 框中键入 1,然后单击“ 确定”。
双击 requiresecuritysignature,在 “值”数据 框中键入 0,然后单击“ 确定”。
步骤 2 - 在更改注册表值后重启服务器服务和工作站服务,重启服务器服务和工作站服务。
重要
请勿重启域控制器,因为此操作可能会导致组策略将注册表值更改回以前的值。
若要重启服务器服务和工作站服务,请执行以下步骤:
单击“开始”,指向“管理工具”,然后单击“服务”。
右键单击“服务器”,然后单击“重启”。
右键单击“工作站”,然后单击“重启”。
注意
如果系统提示你重启其他服务,请单击“是”。
步骤 3 - 更新 Sysvol 共享
更新域控制器的 Sysvol 共享。 为此,请按照下列步骤进行操作:
- 打开域控制器的 Sysvol 共享。 为此,请单击“开始”,单击“运行”,在“打开”框中键入 \\Server_Name\Sysvol,然后按 Enter。
- 如果 Sysvol 共享未打开,请重复步骤 1 - 更改注册表和步骤 2 - 重启服务器和工作站服务。
- 重复步骤 1 - 更改注册表和步骤 2 - 在每个受影响的域控制器上重启服务器和工作站服务,以确保每个域控制器可以访问自己的 Sysvol 共享。
步骤 4 - 设置 SMB 策略设置
连接到每个域控制器上的 Sysvol 共享后,打开域控制器安全策略管理单元,然后设置 SMB 签名策略设置。 为此,请按照下列步骤进行操作:
单击“开始”,指向“程序”,指向“管理工具”,然后单击“域控制器安全策略”。
在左窗格中,展开 “本地策略”,然后单击“ 安全选项”。
在右窗格中,双击Microsoft网络服务器:对通信进行数字签名(始终)。
注意
在 Windows 2000 Server 中,等效的策略设置是数字签名服务器通信(始终)。
重要
如果网络上有不支持 SMB 签名的客户端计算机,则不得启用 Microsoft网络服务器:数字签名通信(始终) 策略设置。 如果启用此设置,则必须对所有客户端通信具有 SMB 签名,并且不支持 SMB 签名的客户端计算机将无法连接到其他计算机。 例如,运行 Apple Macintosh OS X 或 Microsoft Windows 95 的客户端不支持 SMB 签名。 如果网络包含不支持 SMB 签名的客户端,请将此策略设置为禁用。
单击以选中“定义此策略设置”复选框,单击“已启用”,然后单击“确定”。
双击Microsoft网络服务器:数字签名通信(如果客户端同意)。
注意
对于 Windows 2000 Server,等效的策略设置是数字签名服务器通信(如果可能)。
单击以选中“ 定义此策略设置 ”复选框,然后单击“ 已启用”。
单击“确定”。
双击 Microsoft网络客户端:对通信进行数字签名(始终)。
单击此项可清除 “定义此策略设置 ”复选框,然后单击“ 确定”。
双击Microsoft网络客户端:数字签名通信(如果服务器同意)。
单击此项可清除 “定义此策略设置 ”复选框,然后单击“ 确定”。
步骤 5 - 运行组策略更新实用工具
使用强制开关运行组策略更新实用工具(Gpupdate.exe)。 为此,请按照下列步骤进行操作:
单击“开始”,然后单击“运行”。
复制并粘贴(或键入)“打开”框中的 cmd 命令,然后按 Enter。
在命令提示符处,键入
gpupdate /force
,然后按 Enter。注意
Windows 2000 Server 中不存在组策略更新实用工具。 在 Windows 2000 Server 中,等效命令是
secedit /refreshpolicy machine_policy /enforce
。
步骤 6 - 检查应用程序事件日志
运行组策略更新实用工具后,请检查应用程序事件日志以确保组策略设置已成功更新。 成功更新组策略后,域控制器会记录事件 ID 1704。 若要在事件查看器中打开应用程序日志,请执行以下步骤:
单击“开始”,指向“管理工具”,然后单击事件查看器。
在左窗格中单击“应用程序”。
双击事件 ID 1704 并确认已成功应用组策略设置。
注意
事件的源为 SceCli。
步骤 7 - 检查注册表值
检查在步骤 1 中更改的注册表值 - 更改注册表以确保注册表值未更改。
注意
此步骤确保不会在另一个组或组织单位(OU)级别应用冲突的策略设置。 例如,如果Microsoft网络客户端:数字签名通信(如果服务器同意)策略在域控制器安全策略中配置为“未定义”,但此策略在域安全策略中配置为已禁用,则会为工作站服务禁用 SMB 签名。
步骤 8 - 使用策略结果集 (RSoP) 管理单元检查 SMB 签名策略设置
如果在运行组策略更新实用工具后注册表值已更改,请使用 Windows Server 2003 中的 RSoP 管理单元检查 SMB 签名策略设置。 为此,请按照下列步骤进行操作:
单击“开始”,单击“运行”,在“打开”框中键入 rsop.msc,然后单击“确定”。
在 RSoP 管理单元中,SMB 签名设置位于以下路径中: 计算机配置/Windows 设置/安全设置/本地策略/安全选项
注意
如果运行的是 Windows 2000 Server,请从 Windows 2000 服务器资源工具包安装组策略更新实用工具,然后在命令提示符处键入以下内容:
gpresult /scope computer /v
运行此命令后, 将显示“已应用组策略对象” 列表。 此列表显示应用于计算机帐户的所有组策略对象。 检查所有这些组策略对象的 SMB 签名策略设置。
其他资源
如果工作站服务的 SMB 签名设置和服务器服务的 SMB 签名设置相互矛盾,则会发生此行为。 以这种方式配置域控制器时,域控制器上的工作站服务无法连接到域控制器的 Sysvol 共享。 因此,无法启动组策略管理单元。此外,如果 SMB 签名策略由默认域控制器安全策略设置,则问题会影响网络上的所有域控制器。 因此,Active Directory 目录服务中的组策略复制将失败,你将无法编辑组策略以撤消这些设置。
方案 1 - 如果运行域控制器诊断工具(DcDiag.exe),则会收到与 Windows 2000 Server 和 Windows Server 2003 类似的错误
启动测试:MachineAccount
无法打开具有 [SERVERNAME]:失败的管道 5:拒绝访问。
无法获取 NetBIOSDomainName
失败无法测试主机 SPN
失败无法测试主机 SPN
* 缺少 SPN :(null)
* 缺少 SPN :(null)
.........................SERVERNAME 测试 MachineAccount 失败
正在启动测试:服务
无法打开远程 ipc 到 [SERVERNAME]:失败并显示 5:拒绝访问。
.........................SERVERNAME 测试服务失败
开始测试:ObjectsReplicated
.........................SERVERNAME 传递的测试 ObjectsReplicated
开始测试:frssysvol
[SERVERNAME]Net use 或 LsaPolicy 操作失败,错误 5,拒绝 Access。
.........................SERVERNAME 测试 frssysvol 失败
开始测试:frsevent
.........................SERVERNAME 测试 frsevent 失败
开始测试:kccevent
未能枚举事件日志记录,错误访问被拒绝。
.........................SERVERNAME 测试 kccevent 失败
启动测试:systemlog
未能枚举事件日志记录,错误访问被拒绝。
.........................SERVERNAME 测试系统日志失败
方案 2 - 如果运行域控制器诊断工具,则会收到与 Windows 2000 Server 和 Windows Server 2003 类似的错误
测试服务器:Default-First-Site-Name\SERVERNAME
开始测试:复制
.........................SERVERNAME 通过的测试复制
开始测试:NCSecDesc
.........................SERVERNAME 通过测试 NCSecDesc
开始测试:NetLogons
[SERVERNAME]Net use 或 LsaPolicy 操作失败,错误 1240,该帐户无权从此工作站登录。
.........................SERVERNAME 测试 NetLogons 失败
开始测试:广告
.........................SERVERNAME 通过的测试广告
开始测试:KnowsOfRoleHolders
.........................SERVERNAME 通过的测试 KnowsOfRoleHolders
开始测试:RidManager
.........................SERVERNAME 通过的测试 RidManager
启动测试:MachineAccount
无法使用 [SERVERNAME]:失败的管道 1240:帐户无权从此工作站登录。
无法获取 NetBIOSDomainName
失败无法测试主机 SPN
失败无法测试主机 SPN
* 缺少 SPN :(null)
* 缺少 SPN :(null)
.........................SERVERNAME 测试 MachineAccount 失败
正在启动测试:服务
无法打开远程 ipc 到 [SERVERNAME]:失败并显示 1240:帐户无权从此工作站登录。
.........................SERVERNAME 测试服务失败
开始测试:ObjectsReplicated
.........................SERVERNAME 传递的测试 ObjectsReplicated
开始测试:frssysvol
[SERVERNAME]Net use 或 LsaPolicy 操作失败,错误 1240,该帐户无权从此工作站登录。
.........................SERVERNAME 测试 frssysvol 失败
开始测试:frsevent
.........................SERVERNAME 测试 frsevent 失败
开始测试:kccevent
未能枚举事件日志记录,错误 帐户无权从此工作站登录。 .........................SERVERNAME 测试 kccevent 失败
启动测试:systemlog
未能枚举事件日志记录,错误 帐户无权从此工作站登录。 .........................SERVERNAME 测试系统日志失败