Вам будет сложно получить имя пользователя, не будучи администратором на компьютере.
Ни один из методов с WMI, через OpenProcess или с использованием WTSEnumerateProcesses не даст вам имя пользователя, если вы не являетесь администратором. Попытка включить SeDebugPrivilege и т. Д. Также не работает. Мне еще предстоит увидеть код, который работает, не будучи администратором.
Если кто-то знает, как получить это БЕЗ администратора на машине, на которой он запускается, пожалуйста, напишите, как это сделать, поскольку я не нашел, как включить этот уровень доступа для пользователя службы.