检查 Windows 用户是否存在,而不链接其他 dll 并在 c# 中引发异常



我想检查 C# 程序中本地计算机上是否存在用户。我发现的唯一两种方法如下:

  1. 像这里一样使用System.DirectoryServices.AccountManagement 找出系统上是否存在用户的更快方法?
  2. 在用户不存在的情况下引发异常,如下所示 C#:如何知道 Windows 中是否存在"用户帐户"?

我不想同时使用它们:不是第一个,因为我不想为单个检查添加引用,也不是第二个,因为这不是例外情况,在某些情况下用户不存在并且是正常的。

所以,我有两个问题:1)为什么我们应该在第二种情况下使用活动目录,为什么我们不只在用户目录中查找用户目录?
2)有没有其他方法可以做到这一点?

Upd:谢谢,BendEg,Dan J,现在我只有一个问题

您应该再次检查活动目录,以确保用户是否确实存在。当您仅检查本地计算机时,只会返回已登录到计算机的用户。

如果不想使用其他程序集(建议使用),可以使用DllImport使用 Win32 检查用户是否存在。但是这种方式不是很好。

如果要了解此内容,请查看:在 C++ Win32 中获取计算机上的用户配置文件列表

相关内容

最新更新