本文提供了在 Windows Server 2012 R2 中调用 MSFT_NetLbfoTeamNic 类时触发内核事件 ID 2 的问题的解决方法。
原始 KB 数: 3087042
症状
当Windows Server 2012 R2 与 NIC 组合功能一起使用,并且第三方 WMI 提供程序用于调用 MSFT_NetLbfoTeamNic WMI 类时,将记录以下事件:
源:Kernel-EventTracing/Admin 事件 ID:2 会话“”无法启动并出现以下错误:0xC0000022
本文仅解决在使用 NIC 组合时发生的此特定错误。 此错误不是第三方 WMI 提供程序的错误。 此外,记录此事件的原因可能与 NIC 组合功能 WMI 提供程序无关。
原因
此问题不是由第三方 WMI 提供程序引起的。 正在跟踪此问题,以便在Windows Server的未来版本中考虑此问题。
Windows Server 2012 R2 MSFT_NetLbfoTeamNic WMI 类使用 iNetCfg 接口。 iNetCfg 接口与 netCfgTrace 内核日志记录提供程序相关联,该提供程序由Windows自动启用。 跟踪数据会自动保存到 C:\Windows\inf\netcfgx.0.etl 文件。 所有 WMI 提供程序都在 WMIPRVSE 进程的上下文下运行,后者又在网络服务帐户下运行。 但是,如果 WMI 提供程序调用 MSFT_NetLbfoTeamNic 类,则 NETWORK SERVICE 帐户无权将跟踪数据写入此文件。
解决方法
如果“症状”部分中所述的情况触发了内核事件 ID 2 错误,则该错误无害,可以放心地忽略。
如果要防止记录此错误,请打开管理命令提示符,然后运行以下命令:
Takeown /f c:\windows\inf
icacls c:\windows\inf /grant "NT AUTHORITY\NETWORK SERVICE":"(OI)(CI)(F)"
icacls c:\windows\inf\netcfgx.0.etl /grant "NT AUTHORITY\NETWORK SERVICE":F
icacls c:\windows\inf\netcfgx.1.etl /grant "NT AUTHORITY\NETWORK SERVICE":F
这些命令授予必要的文件权限,以防止在这种情况下出现该错误。
可能还需要将 C:\Windows\inf 的所有者重置回 NT SERVICE\TrustedInstaller 帐户(默认设置)。 为此,请执行以下步骤:
-
在Windows资源管理器中,导航到 C:\Windows,右键单击 C:\Windows\INF 目录,然后选择“属性”。 在“安全”选项卡上,单击“高级”。
-
在 “所有者”旁边,单击“ 更改”。
-
单击 “位置”,然后选择本地计算机(如果已加入域,可能需要向上滚动)。
-
在对象名称中,输入 NT SERVICE\TrustedInstaller,选择 “检查名称”,然后单击“ 确定”。 最后,运行 icacls 命令以确保为继承设置 NETWORK SERVICE 帐户,如以下示例所示:
C:\>icacls c:\windows\inf C:\Windows\inf NT AUTHORITY\NETWORK SERVICE:(OI)(CI)(F) [...]