C# 活动目录登录

C# Active Directory Login

我已经用 c# 编写了一个程序来管理我们的 Active Directory - windows 表单。

我卡在了以下几点: 要管理 Active Directory 和提交更改,您必须 运行 程序作为管理员。 我想包括一个登录按钮以验证为管理员并能够提交更改而无需直接以管理员身份启动 .exe。

类似于:

group.Properties["member"].Add(distinguishedName);
group.CommitChanges();

如果这不可能,我想当用户输入他的凭据并将管理员凭据作为参数直接放入用户名和密码字段时,也许可以重新启动程序。

这可能吗?如果没有,您还有其他建议吗?

您的程序不需要 运行 作为管理员。您只需使用有权更新该组的凭据连接到 Active Directory。默认情况下,它将使用程序 运行 的凭据。因此,这听起来像是您使用的任何凭据 运行 因为管理员也有更新该组的权限。

如果对您有帮助,您可以使用 constructor for DirectoryEntry that accepts credentials 使用备用凭据连接到 AD。例如:

var group = new DirectoryEntry($"LDAP://{groupDn}", "username", "password");
group.Properties["member"].Add(distinguishedName);
group.CommitChanges();