The system account that starts the service is a way to handle it, because not all users are local administrators. We provide the service simultaneously with the graphical interface and talk to him via IPC channels. It works, and it's easier than worrying about what users can see in WMI. In our case, it also facilitates writing to the event log.
WMI is probably the easiest way to do this. You can look at the pinvoke / Win32 API (or perhaps even the terminal server API), but WMI will most likely be easy to get up and work reliably.
, - WMI, - , , , .
AFAIK, Windows 2000 , Windows XP , XP Win32_LogonSession , LogonType = 2 (). 2000 , Win32_ComputerSystem UserName .