C#コードを使用してWindows Active Directoryから現在のユーザーのログイン名を取得するにはどうすればよいですか?
単に、
string Name = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).Identity.Name;
OR
string Name = System.Environment.UserName
OR
string Name = Environment.GetEnvironmentVariable("USERNAME");
OR
string Name = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
作品:)
.NET 3.5以降を使用している場合は、次を使用できます。
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find current user
UserPrincipal user = UserPrincipal.Current;
if(user != null)
{
string loginName = user.SamAccountName; // or whatever you mean by "login name"
}
新しいS.DS.AMを使用すると、ADのユーザーやグループを簡単に操作できます。
参照:
System.DirectoryServices.AccountManagement.UserPrincipal.Current.Name
これも私のために働いています!ありがとう
私は他のソリューションが提供されている「NT AUTHORITY\NETWORK SERVICE」を取得していましたが、System.Threading.Thread.CurrentPrincipal.Identity.Name.ToString()は機能していました。