Служба выполняется под учетной записью SYSTEM, так что вы видите в классе Environment
.Имя машины не должно быть проблемой (см. Комментарий Гмолива).Службы выполняются независимо от того, кто вошел в систему: это одна из основных причин их наличия.
Если вы хотите выяснить, какие пользователи (да, их может быть больше одного) могут войти в систему на вашем компьютере, вам придется использовать AFAIK необработанного Windows API.Если вы действительно этого хотите, одним из способов может быть итерация по рабочим столам , , открытие именованного рабочего стола , получение соответствующего пользователя каждого рабочего стола и найдите имя учетной записи пользователя (которое возвращает имя учетной записи на локальном компьютере).Если вам нужен только пользователь, который может видеть что-то на экране, используйте OpenInputDesktop , чтобы получить дескриптор, а не перебирать все из них.
Обратите внимание, что для этого требуется, чтобы ваша служба имела более высокие права доступа, чем обычно.Я бы сам немного с подозрением отнесся к такой услуге.