Windows の currentuser がドメイン ユーザーまたはローカル ユーザーであることを確認する必要がありますか? これで My CurrentPrincipal を取得します。
System.Threading.Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
Windows の currentuser がドメイン ユーザーまたはローカル ユーザーであることを確認する必要がありますか? これで My CurrentPrincipal を取得します。
System.Threading.Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
通常、Windows の非ドメイン ユーザーには UPN 名がありません。以下のように /upn で WHOAMI を起動すると:
C:\>WHOAMI /UPN
ERROR: Unable to get User Principal Name (UPN) as the current logged-on user
is not a domain user.
これに基づいて、以下のコードを使用して、ユーザーがドメイン ユーザーであるかどうかを確認できます。
var upnName = System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName;
if (upnName == null)
{
//not a domain user
}
もう 1 つの時間のかかる方法は、ユーザー名を SAM 形式で取得することです。次に、DirectoryEntry、DirectorySearcher、およびその他の AD API を使用して、マシンの参加しているすべてのドメインを繰り返し処理し、繰り返し処理するドメインのいずれかにユーザーがいるかどうかを確認します。