![SQL Server 的 Kerberos 配置管理器错误“无法从系统访问用户主体信息”](https://linux22.com/image/641764/SQL%20Server%20%E7%9A%84%20Kerberos%20%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E5%99%A8%E9%94%99%E8%AF%AF%E2%80%9C%E6%97%A0%E6%B3%95%E4%BB%8E%E7%B3%BB%E7%BB%9F%E8%AE%BF%E9%97%AE%E7%94%A8%E6%88%B7%E4%B8%BB%E4%BD%93%E4%BF%A1%E6%81%AF%E2%80%9D.png)
当我启动 SQL Server 的 Kerberos 配置管理器并尝试连接到它所在的本地计算机时,出现错误“SQL Server 的 Kerberos 配置管理器错误“无法从系统访问用户主体信息””
谷歌搜索返回的结果很少。
我使用单个帐户在单个域中工作。此系统上的所有用户都不是孤立的,也不会显示 GUID 而不是其 ID。
我确实想使用这个工具来帮助解决我的 Reporting Services Kerberos 问题。
该工具生成的日志显示以下错误:
9/16/2014 11:43:05 AM Info: Connect to WMI, \root\cimv2
9/16/2014 11:43:37 AM Error: Access of system information failed System.Runtime.InteropServices.COMException (0x80070035): The network path was not found.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at System.DirectoryServices.AccountManagement.SAMStoreCtx.ResolveCrossStoreRefToPrincipal(Object o)
at System.DirectoryServices.AccountManagement.SAMMembersSet.MoveNextForeign()
at System.DirectoryServices.AccountManagement.SAMMembersSet.MoveNext()
at System.DirectoryServices.AccountManagement.FindResultEnumerator`1.MoveNext()
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at KerberosCM.WMIHelper.TryIsUserLocalAdmin(SystemInfo si, UserPrincipal user, Boolean& isLocalAdmin)
9/17/2014 8:36:08 AM Info: Connect to WMI, \root\cimv2
9/17/2014 8:36:10 AM Error: Access of system information failed System.Runtime.InteropServices.COMException (0x80070035): The network path was not found.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at System.DirectoryServices.AccountManagement.SAMStoreCtx.ResolveCrossStoreRefToPrincipal(Object o)
at System.DirectoryServices.AccountManagement.SAMMembersSet.MoveNextForeign()
at System.DirectoryServices.AccountManagement.SAMMembersSet.MoveNext()
at System.DirectoryServices.AccountManagement.FindResultEnumerator`1.MoveNext()
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at KerberosCM.WMIHelper.TryIsUserLocalAdmin(SystemInfo si, UserPrincipal user, Boolean& isLocalAdmin)
答案1
我知道这是一个非常古老的帖子,但对于仍然遇到此问题的人来说......我设法通过进入服务器上的本地管理员组并清除所有显示为 GUID 的帐户来解决这个问题。
完成此操作后,我就可以启动该工具,无需填写服务器/用户信息,只需点击连接即可。之后它立即登录。
(我知道原始发帖人说他已经检查过了,但这为我解决了这个问题)。
答案2
我知道这个帖子很老了,但我遇到了同样的问题。就我而言,远程注册表服务没有运行。我发现在某些服务器上它只是在运行,而在其他服务器上它显示为自动(触发启动),在这两种情况下我都可以成功使用该工具。如果服务是手动/禁用的等...并且没有运行,则会发生此错误。
答案3
我的答案与其他答案类似,但略有不同。我在本地管理员组中有一个来自其他域的帐户。我不确定存在的确切信任类型。删除该帐户后,该工具就可以运行了。
答案4
遇到了完全相同的问题,我如何解决?
我转到服务器上存在 SPN 问题的本地用户和组(组 > 管理员 >),并删除了不属于与服务器同一域的所有帐户。
我有一个来自另一个域的用户帐户,删除它并再次尝试该应用程序后,它就可以正常工作了。
干杯。