C# - 无法在 Windows 10 上使用 PrincipalContext(ContextType.Machine

本文关键字:PrincipalContext Machine ContextType Windows | 更新日期: 2023-09-27 18:31:33

以下内容适用于多个服务器版本的Windows,以及Windows 7 pro和其他版本,但在Windows 10(至少两台计算机)上,我收到错误:"系统找不到指定的文件。 错误源是"活动目录"

System.IO.FileNotFoundException:系统找不到指定的文件。

堆栈跟踪:

   at System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADs.Get(String bstrName)
   at System.DirectoryServices.AccountManagement.CredentialValidator.BindSam(String target, String userName, String password)
   at System.DirectoryServices.AccountManagement.CredentialValidator.Validate(String userName, String password)
   at System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials(String userName, String password)
   at IsValidWindowsUser(String userName, String password) in MembershipProvider.cs:line xxx

以下是触发错误所需的最少代码量。 在这种情况下,我使用的是 ValidateCredentials(),但其他操作(如 PrincipalSearch)也失败并出现完全相同的错误。

我已经使用 LogonUser() 验证了凭据是否有效; https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx

    bool IsValidWindowsUser(string userName, string password)
    {
        using (var p = new PrincipalContext(ContextType.Machine))
            return p.ValidateCredentials(userName, password);
    }

重要一点:我发现这在两个Windows 10系统上都有效,但从那时起,两个系统的硬盘驱动器都被固态驱动器取代了。 操作系统移动是使用磁盘映像软件完成的,操作系统上的其他所有内容都完好无损。 我知道磁盘/分区签名已更改。 这会破坏/损坏凭据存储吗? Windows 7 专业版计算机也更换了驱动器,但它继续按预期工作。

另一个可能相关的老问题是:在本地计算机上验证用户凭据

这个问题似乎也谈到了 PrincipalContext(ContextType.Machine) 的 FileNotFoundException 异常,但前提是没有网络连接。 就我而言,始终存在网络连接。 我会使用登录用户,但我还需要测试组成员身份。

C# - 无法在 Windows 10 上使用 PrincipalContext(ContextType.Machine

答案是在StackOverFlow上找到的。System.DirectoryServices.AccountManagement.PrincipalContext 在 Windows 10 更新后中断

谢谢杜加尔

相关位...

该问题是由 中缺少注册表项引起的 HKEY_LOCAL_MACHINE''软件''WOW6432Node''Microsoft''Windows NT''CurrentVersion,特别是:Registered Owner 和 注册组织

填充这些键,它应该可以工作。 我什至不必重新启动我的应用程序。

在任何人问之前,是的,我搜索了很多次,很多方式......

取消选中项目属性窗口中"构建"选项卡下的"首选 32 位"复选框,默认情况下处于选中状态 - 请参见屏幕截图。 这为我解决了它! 再次选中该复选框将导致您描述的异常重新出现。

取消选中"首选 32 位"屏幕截图

相关文章:
  • 没有找到相关文章