如何解决如何有效地获取当前的 Windows 用户帐户名?
我正在尝试获取“当前活动用户帐户名”(Windows 用户)。
为此,我尝试了下面提到的代码,并获得了“当前活动用户帐户名称”,但此代码首先获取所有用户列表,然后过滤(获取)“当前活动用户名”。
现在,我正在尝试获取“当前活动用户帐户名称”(Windows 用户)但没有 for
循环,并且我尝试在 Microsoft 开发人员文档中获取帮助(研究)但我找不到有用的资源。
SelectQuery userListQuery = new SelectQuery("Win32_UserAccount");
ManagementObjectSearcher userSearcher = new ManagementObjectSearcher(userListQuery);
foreach (ManagementObject envVar in userSearcher.Get())
{
// get sid string from username (for to acsess user's current_user registry key)
NTAccount userAccount = new NTAccount(envVar["Name"].ToString());
SecurityIdentifier sid = (SecurityIdentifier)userAccount.Translate(typeof(SecurityIdentifier));
string sidString = sid.ToString();
File.AppendAllText("c:\\outs\\log.txt"," ---- user account ----" + userAccount + "\n\n");
File.AppendAllText("c:\\outs\\log.txt"," ---- sid string ----" + sidString + "\n\n");
}
解决方法
我已经解决了我的问题:
var searcher = new ManagementObjectSearcher("SELECT UserName FROM Win32_ComputerSystem");
var collection = searcher.Get();
string username = (string)collection.Cast<ManagementBaseObject>().First()["UserName"];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。