1

Winforms アプリケーションの 1 つで Active Directory ログインを使用しています。オブジェクトを取得しましたUserPrincipalが、このオブジェクトから適切なアカウント名を取得する方法がわかりません。アカウント名と同じ がありSamAccountNameますが、これは古いバージョンの Windows 用であることが示されています。では、古い Windows システムでも新しい Windows システムでも、適切なアカウント名を取得するにはどうすればよいでしょうか。

これは、オブジェクトを取得するために使用するコードです

if (ADUserName.Length > 0)
    context = new PrincipalContext(ContextType.Domain, ADServer, null,  ADUserName, ADUserPassword);
else
    context = new PrincipalContext(ContextType.Domain, ADServer);

UserPrincipal.FindByIdentity(context, account)
4

1 に答える 1

0

SamAccountName 、 Active Directory が導入される前からWindows で使用されていた「アカウント名」

追加情報 (LDAP コンテキストでの「識別名」など) によって補足されているという点で「レガシー」ですが、これWindows アカウント名 (「短縮名」) であり、新しいユーザーにとっては依然として必須フィールドです。作成中 - そのまま使用してください!

AD コンテキストでどの名前が何に使用されるかについて詳しくは、ユーザー命名属性を参照してください。

于 2015-07-08T08:36:56.583 に答える