Я использую метод ниже, чтобы войти в систему имя пользователя в Windows (это используется в службе Windows). Он хорошо работает (MY-Username(Pc-Name)
) на моем компьютере, но когда я устанавливаю его на другой компьютер с Windows, он возвращает только значение Name ((Name)
), поскольку UserName имеет значение null, что может вызвать это?
К сожалению, я не могу установить 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;
}