我正在使用以下方法在Windows中登录用户名(Windows服务中正在使用该用户名)。它在我的机器上运行良好(MY-Username(Pc-Name)
),但是当我将其安装到其他Windows机器上时,由于UserName为null,它仅返回Name((Name)
)值,这可能是什么原因引起的?
不幸的是,我无法在该远程计算机上安装VS,希望仍然有办法对其进行修复
private string GetUserName()
{
string result = "";
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT UserName, Name FROM Win32_ComputerSystem"))
{
foreach (ManagementObject mo in searcher.Get())
{
if (mo["UserName"] != null)
result = mo["UserName"].ToString();
if (mo["Name"] != null)
result += " (" + mo["Name"].ToString() + ")";
}
}
return result;
}